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__);

}

时间: 2024-11-11 06:36:47

UIApplication代理的相关文章

UIApplication代理、控制器view的生命周期

//应用程序启动完毕时调用 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { NSLog(@"%s",__func__); return YES; } //应用程序将要失去焦点时调用 - (void)applicationWillResignActive:(UIApplication *)application {

UIApplication的详细介绍

UIApplication 什么是UIApplication? UIApplication对象是应?程序的象征.每一个应用都有?己的UIApplication对象,这个对象是系统自动帮我们创建的, 它是一个单例对象.一个iOS程序启动后创建的第一个对象就是UIApplication对象我们只能通过[UIApplication sharedApplication]获得这个单例对象,不能够手动去创建它. UIApplication作用? 利?用UIApplication对象,能进?一些应用级别的操作

UIApplication,UIWindow,UIViewController,UIView(layer)

转载自:http://www.cnblogs.com/iCocos/p/4684749.html UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道,单例在应用程序的整个生命周期中只有一个对象). App的启动过程 打开程序之后-> 1:Main函数 2:UIapplicationMain函数 3:初始化UIApplication(创建) 4:设置

iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道,单例在应用程序的整个生命周期中只有一个对象). App的启动过程 打开程序之后-> 1:Main函数 2:UIapplicationMain函数 3:初始化UIApplication(创建) 4:设置UIApplication代理和相应的代理属性 5:开启事件循环,监听系统事件 6监测info.p

iOS UIApplication sharedapplication用法

应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一些参数.下面来讨论一下具体的实现过程. 1. 在app2的info.plist中定义URL,就是在文件中添加URL types一项.可按下图进行添加. 2. 在app1的代码中打开刚才定义的URL,代码如下: copy NSURL *url = [NSURL URLWithString:@]; [[

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

一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道,单例在应用程序的整个生命周期中只有一个对象). App的启动过程 打开程序之后-> 1:Main函数 2:UIapplicationMain函数 3:初始化UIApplication(创建) 4:设置UIApplication代理和相应的代理属性 5:开启事件循环,监听系统事件 6监测info.plist文件,看看是否有Main.StoryBoard文件存在 有:/***********************

UIApplication sharedApplication详细解释-IOS

原文:http://blog.csdn.net/huifeidexin_1/article/details/7792371 iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示: int UIApplicationMain ( int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName ); 那么UIApplicationMain函

2015-10-31 iOS 中的手势

UIkit框架中绝大多数的控件都是继承自,UIResponder类,UIResponder 类有强大的处理触摸事件的能力.假如一个UIview 收到一个触摸事件,那么这个触摸事件就会去进行寻找相应的响应事件,如果在该UIview 中找不到,就寻找UIView的对象去处理,如果UIView对象没有权利处理,就往当前的上一层UIViewController去寻找,如果找不到就再寻找 UIViewController 的对象去处理,如果这个对象仍然不能处理,就再往上层 UIWindow 对象去处理,如

iOS面试必备-iOS基础知识

近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,ARC则不需要.但是并不是 所有对象在ARC环境下均不需要管理内存,子线程和循环引用并不是这样.与retain配对使用的是release,retain代表引用计 数+1,release代表引用计数-1,当引用计数减为0时