1,生命周期方法执行顺序
如图:
2
****viewDIdLoad调用时机****
- (void)loadView;
1、永远不要手动调用它
2、如果要自定义self.view ,就要在loadView中修改它。不要在viewDidLoad中修改self.view,这样容易造成使用先后顺序错误。
一、UIViewController生命周期方法
// 视图已经加载
view plaincopy
- (void)viewDidLoad {
NSLog(@"%s", __func__);
}
view plaincopy
// 加载视图
- (void)loadView {
NSLog(@"%s", __func__);
}
[objc] view plaincopy
// 视图即将出现
- (void)viewWillAppear:(BOOL)animated {
NSLog(@"%s", __func__);
}
[objc] view plaincopy
// 视图已经出现
- (void)viewDidAppear:(BOOL)animated {
NSLog(@"%s", __func__);
}
[objc] view plaincopy
// 视图即将消失
- (void)viewWillDisappear:(BOOL)animated {
NSLog(@"%s", __func__);
}
[objc] view plaincopy
// 视图已经消失
- (void)viewDidDisappear:(BOOL)animated {
NSLog(@"%s", __func__);
}
二、AppDelegate生命周期方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"%s", __func__);
return YES;
}
// 程序即将进入后台
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"%s", __func__);
}
// 程序已经进入后台
- (void)applicationDidEnterBackground:(UIApplication *)application {
NSLog(@"%s", __func__);
}
// 程序即将进入前台
- (void)applicationWillEnterForeground:(UIApplication *)application {
NSLog(@"%s", __func__);
}
// 程序已经进入活动状态
- (void)applicationDidBecomeActive:(UIApplication *)application {
NSLog(@"%s", __func__);
}
// 程序已经结束
- (void)applicationWillTerminate:(UIApplication *)application {
NSLog(@"%s", __func__);
}