1.AppDelegate对象概述
- 所有的移动App都有一个致命的缺点:很容易受到打扰,比如一个来电或者锁屏会导致app进入后台甚至被终止
- 在app受到干扰时,会产生一些系统事件,这时UIApplication就会通知它的代理对象处理这些事件,而AppDelegate对象就是UIApplication的代理对象
- 打开AppDelegate对象的头文件,可以看到,工程一创建AppDelegate对象就会默认继承UIApplicationDelegate协议,并设置AppDelegate对象为UIApplication的代理对象
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
- 代理可以处理的事件包括:
- 应用程序的生命周期事件
- 系统事件(比如来电)
- 内存警告
2.系统事件处理
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {
}
- (void)applicationDidEnterBackground:(UIApplication *)application {
}
- (void)applicationWillEnterForeground:(UIApplication *)application {
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
}
- (void)applicationWillTerminate:(UIApplication *)application {
}
-(void)applicationDidReceiveMemoryWarning:(nonnull UIApplication *)application{
}