UIApplicationDelegate-委托方法浅析

jopen 10年前
在我们每一个应用程序中,在入口处,我们都设定了UIApplicationDelegate协议来完成,程序级别的一些委托方法。

UIApplicationDelegate协议中的方法,可以帮助我们根据程序的状态来做一些相关的操作。

我们今天来了解一下,这些委托方法的执行顺序


1.程序启动时,需要执行的委托方法

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions


2.这时候,程序将被我们调到前台,分别执行的方法有

// 程序到前台后,执行该方法

- (void)applicationDidBecomeActive:(UIApplication *)application


3.当用户,按下Home键,我们程序将依次执行:

// 当程序从前台退到后台时,执行该方法

 

// 当程序要从前台到后台时,执行该方法,即我们按下Home键时。

// 使用该方法暂停我们的任务,并且停止timers,用该方法来暂停我们的程序

- (void)applicationWillResignActive:(UIApplication *)application


// 当应用程序掉到后台后,执行该方法大概 10 秒钟来保存任何为保存的数据

- (void)applicationDidEnterBackground:(UIApplication *)application


4.当用户,再次从后台回到前台时,我们程序依次执行:

// 当应用程序回到将回到前台时,执行该方法

- (void)applicationWillEnterForeground:(UIApplication *)application


// 程序到前台后,执行该方法

- (void)applicationDidBecomeActive:(UIApplication *)application


总结:
一般,当程序调到后台时,我们使用applicationDidEnterBackground方法,来进行保存处理;当程序从后台被调到前台时,我们用applicationWillEnterForeground方法,来执行恢复操作。