项目创建后,AppDelegate类中默认带有如下几个方法,具体功能如下:
1,应用程序第一次运行时执行
这个方法只有在App第一次运行的时候被执行过一次,每次App从后台激活时都不会再执行该方法。
(注:所有一般我们都在这里获取用户许可,比如本地消息推送的许可等)
didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
return true
}```
2,应用程序挂起时执行
当有电话进来或者锁屏时,应用程序便会挂起。
func applicationWillResignActive(application: UIApplication)
3,应用程序进入后台时执行
func applicationDidEnterBackground(application: UIApplication)
4,应用程序将要重新回到前台时执行
func applicationWillEnterForeground(application: UIApplication)
5,应用程序重新进入活动状态时执行
func applicationDidBecomeActive(application: UIApplication)
6,应用程序将要退出时执行
这里通常是用来保存数据和做一些退出前的清理工作
func applicationWillTerminate(application: UIApplication)
在ViewController中View的生命周期
-(void)loadView
用代码初始化的时候,第一个调用该方法。可以在这里面addSubView。
-(void)viewDidLoad
初始化时一些数据的设置setUp。
-(void)viewWillAppear
view 即将出现(每次view出现的时候都会调用)
-(void)viewWillLayoutSubviews
初始化的时候,默认什么也不做。当view(包括subViews)的bounds发生变化的时候会调用,可以用来布局(Tip:此方法之后回调用updateViewConstraints)
-(void)viewDidLayoutSubviews
初始化的时候,默认什么也不做。注意当view(包括subViews)的bounds发生变化的时候会调用,可以用来布局。这里是bounds而不是frame。经过测试view的frame的size 发生变化才会调用该方法,而origin变化时不会调用
-(void)viewDidAppear
view已经全部展现出来(每次view出现的时候都会调用)
-(void)viewWillDisappear
页面即将消失的时候调用(每次view即将消失的时候,都会调用)
-(void)viewWillLayoutSubviews
-(void)viewDidLayoutSubviews
-(void)viewDidDisappear
页面已经消失的时候调用,(每次页面消失的时候都会调用)