iOS APP生命周期

应用的生命周期的方法一般写在AppDelegate中

各个程序运行状态时代理的回调:

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions   进程即将启动的时候代理会执行该方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions   进程启动完成程序准备开始运行的时候执行该方法

- (void)applicationDidFinishLaunching:(UIApplication*)application  当程序载入后执行

- (void)applicationDidBecomeActive:(UIApplication *)application  当应用程序入活动状态执行

- (void)applicationWillResignActive:(UIApplication *)application  当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或事件,比如来电话了

- (void)applicationDidEnterBackground:(UIApplication *)application 当程序被推送到后台的时候调用。所以要设置后台继续运行,则在这个函数里面设置即可

- (void)applicationWillEnterForeground:(UIApplication *)application 当程序从后台将要重新回到前台时候调用。

- (void)applicationWillTerminate:(UIApplication *)application 当程序将要退出是被调用,通常是用来保存数据和一些退出前的清理工作。这个需要要设置UIApplicationExitsOnSuspend的键值。


界面之间的生命周期

- (void)viewDidLoad; 

第一次打开该界面的时候会调用,在这里一般用来做各种数据的初始化。(注意返回到该页面不会执行该方法,除非关闭该页面,重新打开才会执行该方法)

- (void)viewWillAppear:(BOOL)animated; 

在上面的didload方法执行完毕之后,页面即将要显示的时候会执行该方法,该方法也可以对数据来进行初始化。(即使是返回到该页面,也会执行该方法)

- (void)viewDidAppear:(BOOL)animated; 

等页面加载完之后就执行的方法。

- (void)viewWillDisappear:(BOOL)animated; 

页面将要消失执行的方法

- (void)viewDidDisappear:(BOOL)animated; 

界面已经消失的时候执行的方法

ViewController的生命周期中各方法执行流程如下:init—>loadView—>viewDidLoad—>viewWillAppear—>viewWillLayoutSubViews—>viewDidLayoutSubViews—>viewDidAppear—>viewWillDisappear—>viewDidDisappear—>viewWillUnload->viewDidUnload—>dealloc

你可能感兴趣的:(iOS APP生命周期)