創建線程的方法
NSThread
NSOperationQueue和NSOperation
GCD
主線程中履行代碼
[self performSelectorOnMainThread: withObject: waitUntilDone:];
[self performSelector: onThread:[NSThread mainThread] withObject: waitUntilDone:];
dispatch_async(dispatch_get_main_queue(), ^{
});
延時履行
double delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW,
(int64_t)(delayInSeconds * NSEC_PER_SEC));
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
});
[self performSelector: withObject: afterDelay:];
[NSTimer scheduledTimerWithTimeInterval: target: selector: userInfo: repeats:];
loadView
當第1次使用控制器的view時,會調用loadView方法創建view
1般在這里自定義view
第1次使用的控制器view的時候 會調用
viewDidLoad
當控制器的view創建終了時會調用,也就是在loadView后調用
1般在這里添加子控件、初始化數據
viewDidUnload
當控制器的view由于內存正告被燒毀時調用
1般在這里回收跟界面相干的資源(界面都會燒毀了,跟界面相干的資源肯定不要了)