Time of Update: 2015-04-29
GCD常用方法,gcd1.延遲操作2.一次性代碼3.隊列組/** * 順延強制 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // 2秒後非同步執行這裡的代碼... }); 順延強制:不需要再寫方法,且它還傳遞了一個隊列,我們可以指定並安排其線程。
Time of Update: 2015-04-29
【讀書筆記】100個Switf必備tips,switf必備tips 聲明歡迎轉載,但請保留文章原始出處:) 部落格園:http://www.cnblogs.com農民伯伯: http://over140.cnblogs.com本文1、Selector在Swift中可以用字串常量來構造Selector,例如:
Time of Update: 2015-04-29
iOS開發 - 手勢識別(UIGestureRecognizer)UIGestureRecognizer為了完成手勢識別,必須藉助於手勢辨識器—-UIGestureRecognizer利用UIGestureRecognizer,能輕鬆識別使用者在某個view上面做的一些常見手勢UIGestureRecognizer是一個抽象類別,定義了所有手勢的基本行為,使用它的子類才能處理具體的手勢UITapGestureRecognizer
Time of Update: 2015-04-28
使用dispatch_benchmark函數進行基準測試,benchmark函數dispatch_benchmark函數是libdispatch (Grand Central Dispatch) 的一部分,這個方法並沒有被公開聲明,所以必須要自己聲明。 簡介The dispatch_benchmark function executes the given block multiple times according to the count variable and then
Time of Update: 2015-04-28
iOS SDK詳解之IBInspectable和IB_DESIGNABLE-Storyboad動態重新整理 前言:在做應用的UI設計的時候,如果屬效能夠在Interface Builder的圖形化介面進行設定,並且動態預覽到效果,那樣無疑會大大提高應用的開發效率。而XCode為我們提供了這樣的一種方式,就是使用IBInspectable和IB_DESIGNABLEUser Defined Rumtime Attributes通過User Defined Rumtime
Time of Update: 2015-04-28
iOS開發--自訂欄表控制項 這兩天項目比較閑,在空餘之際,嘗試自己實現清單控制項。從動工到初步完成大概花了一天時間,目前實現了列表的簡易功能,後續將考慮加入cell重用機制、慣性特徵以及刪除cell等功能。項目代碼已經放到了github上,地址:https://github.com/wanglichun/CustomTableView。
Time of Update: 2015-04-27
昨晚關於segment和tableview混合使用的一點問題,segmenttableview 昨天晚上,我在弄百度地圖的離線介面的時候,用了一個segmentcontrol去控制兩個tableview,但是呢,我發現無論如何剛進去時的那個介面是無法顯示的。因為開始預設了selectedSegmentIndex = 0;也就是預設介面的控制索引。 我發現了兩個問題:
Time of Update: 2015-04-28
iOS開發 - MAC系統快速鍵MAC系統快速鍵一覽表 系統啟動系統啟動在啟動時按下 X: 強制使用 Mac OS X 啟動電腦在啟動時按下 Option-Command-Shift-Delete: 不使用主要啟動硬碟,並尋找使用外接磁碟與 CD在啟動時按下 C: 由具有系統檔案夾的 CD 光碟片啟動在啟動時按下 N: 試圖由相容的網路伺服器 (NetBoot) 啟動在啟動時按下 T: 以火線目標磁碟方式啟動在啟動時按下 Shift: Mac OS X 10.2
Time of Update: 2015-04-27
黑馬程式員--protocol(協議),黑馬--protocol------Java培訓、Android培訓、iOS培訓、.Net培訓、期待與您交流! -------可以用來聲明一大堆方法(不能聲明成員變數)只要某個類遵守了這個協議,就相當於擁有這個協議中的所有方法聲明只要父類遵守了某個協議,就相當於子類也遵守了 //定義一個名叫MyProtocol的協議MyProtocol.h@protocol MyProtocol <NSObject>
Time of Update: 2015-04-25
IOS 進階開發 KVC(一),ios開發kvc 熟練使用KVC 可以再開發過程中可以給我們帶來巨大的好處,尤其是在json 轉模型的時候,KVC讓程式員擺脫了繁瑣無營養的代碼堆積。減少代碼量就是減少出錯的機率。KVC 用起來很靈活,這種靈活的基礎是嚴格的命名要求。這種命名要求其實是一種約定。再程式的世界裡,約定的作用遠遠大於開發本身,良好的約定可以使程式員擺脫很多判斷,也減少了錯誤。KVC有如下幾點作用:1)、直接賦值使用KVC 可以對對象的某個屬性進行賦值。假定現在我們有一個Person
Time of Update: 2015-04-25
iOS 限制錄音時間為30秒static int myTime = 30;@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *imageView;@property (weak, nonatomic) IBOutlet UIButton *btn;@property (weak, nonatomic) IBOutlet UIButton *playBtn;@property
Time of Update: 2015-04-24
OC弱文法,oc文法OC是在運行過程中才會檢測對象有沒有實現相應的方法,所有編譯過程只給出警告:可能找不到對應方法;如果程式在運行過程中出錯,就會出現程式閃退; 類方法:類可以直接調用的方法,相當於java中的靜態方法,但是類方法只能類調用,對象無法調用以+開頭的方法都是類方法、 對象方法:1,以 ‘-’ 開頭2,只能由對象調用3,對象方法只能調用當前對象的執行個體變數或成員變數 類方法:1,以‘+’開頭2
Time of Update: 2015-04-24
預先處理命令,預先處理1,所有的預先處理指令都是以#號開頭的2,預先處理指令分3種:1>宏定義:#define COUNT 4 //後邊沒有任何符號 #undef COUNT結束宏定義2>條件編譯#define A 5#if (A==5)printf("A是5");#elifprintf("A是10");#elseprintf("A是其他");#endifreturn 0;#if defined(A)//如果A是宏定義3>檔案包含#include
Time of Update: 2015-04-25
IOS---UITableViewCell自適應行高(非AutoLayout)如題所示,本程式是使用非AutoLayout寫的UITableView自適應行高,之後筆者將會寫一個基於AutoLayout的自適應行高的小demo。PS:此小程式只適用於剛接觸IOS的小朋友,只用做參考,毫無技術性,大神勿噴。上代碼://UITableViewCell#import @interface commentaryCell : UITableViewCell@property (retain,
Time of Update: 2015-04-24
IOS中的單例設計模式 單例設計模式是IOS開發中一種很重要很常用的一種設計模式。它的設計原理是無論請求多少次,始終返回一個執行個體,也就是一個類只有一個執行個體。下面是蘋果官方文檔中關於單例模式的圖片: ,左邊的圖是預設的多例模式,只要發送請求去建立對象,就會得到一個新的對象;而右側的圖是單例模式,發送多個請求建立對象,但是最後返回的始終是同一個。 因為建立單例類的執行個體是在確保沒有其他執行個體的情況下才建立的,並且在程式中使用的過程中始終是同一個執行個體,因此單例類可以作
Time of Update: 2015-04-24
IOS SQLite3的使用一、什麼是SQLIte SQLite是一款輕型的嵌入式資料庫,它佔用資源非常的低,在嵌入式裝置中,可能只需要幾百K的記憶體就足夠了。它的處理速度比Mysql、PostgreSQL這兩款著名的資料庫都還快 二、資料庫儲存資料的步驟 1、建立一個資料庫 2、建立一張表(table) 3、添加多個欄位(column,列,屬性) 4、添加多行記錄(row,每行存放多個欄位對應的值 三、SQL語句種類 1、資料定義語句(DDL:Data Definition Language)
Time of Update: 2015-04-23
iOS CLLocationManager定位,IOS8注意今天下午動手用了IOS內建的定位,結果在網上看了很多教程,也將範例程式碼直接運行,但就是一直無法擷取位置,代碼如下:首先匯入CoreLocation.framework,然後再引入標頭檔#import 定義屬性@property (nonatomic , strong)CLLocationManager *locationManager;然後使用代理 CLLocationManagerDelegate -
Time of Update: 2015-04-23
iOS項目中常用的第三方開源庫1.項目使用的第三方開源庫 項目使用了CocoaPods(類似java中的maven)管理常用的第三方庫,一些特殊的單獨引用,下面介紹下比較好用的幾個。(1)AFNetworking目前比較推薦的iOS網路請求組件,預設網路請求是非同步,通過block回調的方式對返回資料進行處理。需要注意的是AFNetworking對伺服器返回的ContentType要求比較嚴格,預設只支援application/json的返回。所以可能需要添加對text/h
Time of Update: 2015-04-23
解決UIScrollView 的點擊事件,uiscrollview事件目前有兩種方法第一種 通過 Category 擴充 UIScrollView 對象,添加觸摸事件,(不建議,後續擴充不方便)代碼如下@implementation UIScrollView (ExtendTouch)- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [[self nextResponder]
Time of Update: 2015-04-22
RunLoop和autorelease的一道面試題,runloopautorelease 有這麼一道ios面試題 以下代碼有沒有什麼問題?如果有?如何解決? for (int i = 0 ; i < largeNumber; i++) {NSString *str = [NSString stringWithFormat:@"hello -%04d",i];str = [str stringByAppendingString:@" - world"];