AppDelegate文件的介绍和使用

来源:互联网 发布:有赞 知乎 编辑:程序博客网 时间:2024/06/06 03:14

UIApplication和delegate

所有的移动操作系统都有个致命的缺点:app很容易受到打扰。

比如一个来电或者锁屏会导致app进入后台甚至被终止,还有很多其它类似的情况会导致app受到干扰,

在app受到干扰时,会产生一些系统事件,这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件。





AppDelegate文件介绍和使用

每次新建完项目,都有个带有“AppDelegate”字眼的类,它就是UIApplication的代理



MJAppDelegate默认已经遵守了UIApplicationDelegate协议,已经是UIApplication的代理



AppDelegate文件中常用方法的介绍

@implementation AppDelegate/** *  app启动完毕后就会调用 *  在启动图标消失后进入该方法,并且程序进入后台后,再次进入时不再调用 */- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    NSLog(@"程序已经启动...");    return YES;}/** *  程序失去焦点后执行,一般数据保存操作在这里执行 */- (void)applicationWillResignActive:(UIApplication *)application {    NSLog(@"程序将要失去焦点...");}/** *  app进入后台的时候调用 注意:进入后台时先失去焦点再进入后台 */- (void)applicationDidEnterBackground:(UIApplication *)application {    NSLog(@"程序已经进入后台...");}/** *  app进入前台的时候调用 */- (void)applicationWillEnterForeground:(UIApplication *)application {    NSLog(@"程序将要进入前台...");}/** *  程序被激活(获得焦点)后执行 注意:先进入前台再获取焦点<span style="font-family: Arial, Helvetica, sans-serif;">,一般数据恢复操作在这里执行</span> */- (void)applicationDidBecomeActive:(UIApplication *)application {    NSLog(@"程序已经获得焦点...");}/** *  程序终止时执行 */- (void)applicationWillTerminate:(UIApplication *)application {    NSLog(@"程序将要终止...");}/** *  清除不需要再使用的内存 */-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application{    NSLog(@"applicationDidReceiveMemoryWarning");}@end





0 0
原创粉丝点击