UIApplication代理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIApplication代理相关的知识,希望对你有一定的参考价值。

 
  • 所有的移动操作系统都有个致命的缺点:app很容易受到打扰。
  • 比如一个来电或者锁屏会导致app进入后台甚至被终止
  • 还有很多其它类似的情况会导致app受到干扰,在app受到干扰时,会产生一些系统事件,
  • 这时UIApplication会通知它的delegate对象,让delegate代理来处理这些系统事件
 
delegate可处理的事件包括:
  1. 应用程序的生命周期事件(如程序启动和关闭)
  2. 系统事件(如来电)
  3. 内存警告
  4. ...
 
UIApplication会在程序一启动时候创建一个遵守UIApplicationDelegate代理.
这个就是我们程序一创建时的AppDelegate类.AppDelegate就是遵守了UIApplicationDelegate协议.
在这个类中很定义很多监听系统事件的方法.同时也定义了一些应用程序的生命周期方法.
 
主要方法有:
 
  • 应用程序的生命周期
  • 应用程序启动完成的时候调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSLog(@"%s",__func__);
return YES;
}
 
当我们应用程序即将失去焦点的时候调用
- (void)applicationWillResignActive:(UIApplication *)application {
NSLog(@"%s",__func__);
}
 
当我们应用程序完全进入后台的时候调用
- (void)applicationDidEnterBackground:(UIApplication *)application{
NSLog(@"%s",__func__);
}
 
当我们应用程序即将进入前台的时候调用
- (void)applicationWillEnterForeground:(UIApplication *)application {
          NSLog(@"%s",__func__);
}
 
当我们应用程序完全获取焦点的时候调用
只有当一个应用程序完全获取到焦点,才能与用户交互.
- (void)applicationDidBecomeActive:(UIApplication *)application {
          NSLog(@"%s",__func__);
}
 
当我们应用程序即将关闭的时候调用
- (void)applicationWillTerminate:(UIApplication *)application {
          NSLog(@"%s",__func__);
 

以上是关于UIApplication代理的主要内容,如果未能解决你的问题,请参考以下文章

UIApplication对象及其代理UIApplicationDelegate[转]

UIApplication代理

UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

如何在整个应用程序中设置 UIButton 点击​​声音?

1230ios准备 --UIApplication类

iOS程序启动原理