//当应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"应用程序将要进入非活动状态,即将进入后台");
} //应用程序已经进入后台运行
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"如果应用程序支持后台运行,则应用程序已经进入后台运行");
如果需要退出后台,则在这里加上:exit();
} //应用程序将要进入活动状态执行
- (void)applicationWillEnterForeground:(UIApplication *)application
{
NSLog(@"应用程序将要进入活动状态,即将进入前台运行");
} //应用程序已经进入活动状态
- (void)applicationDidBecomeActive:(UIApplication *)application
{
NSLog(@"应用程序已进入前台,处于活动状态");
} //应用程序将要退出,通常用于保存书架喝一些推出前的清理工作,
- (void)applicationWillTerminate:(UIApplication *)application
{
NSLog(@"应用程序将要退出,通常用于保存书架喝一些推出前的清理工作");
} //当设备为应用程序分配了太多的内存,操作系统会终止应用程序的运行,在终止前会执行这个方法
//通常可以在这里进行内存清理工作,防止程序被终止
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
NSLog(@"系统内存不足,需要进行清理工作");
} //当系统时间发生改变时执行
-(void)applicationSignificantTimeChange:(UIApplication *)application
{
NSLog(@"当系统时间发生改变时执行");
} //当程序载入后执行
-(void)applicationDidFinishLaunching:(UIApplication *)application
{
NSLog(@"当程序载入后执行");
}

介绍完appdelegate中的方法后,回到我想说的地方

如果在一个viewcontroller中触发了这些方法(比如按home键盘,此程序会进入后台,触发

applicationWillResignActive、
applicationDidEnterBackground

方法),这时候我们不可能在回到appdelegate中写逻辑处理,所以,我们可以用观察者模式来处理这个问题:

- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter]addObserver:self
selector:@selector(AA)
name:UIApplicationDidFinishLaunchingNotification
object:nil];
}

这里接受到的name可以有很多:

UIApplicationDidFinishLaunchingNotification

UIApplicationDidEnterBackgroundNotification

....appdelegate中对应的方法都有

appDelegate中的委托协议方法以及使用观察者模式获取其触发方法的更多相关文章

  1. 把Swift中的String转成NSString ,获取NSString的方法

    1.0 在Swift中的 String 并没有提供什么方法,直接把它自身转变成 Int .Float 等,而在OC中我们就可以这样  "123".integerValue 来获取它 ...

  2. http中请求协议 GET和POST两种基本请求方法的区别

    GET和POST是什么?HTTP协议中的两种发送请求的方法. HTTP是什么?HTTP是基于TCP/IP的关于数据如何在万维网中如何通信的协议. HTTP的底层是TCP/IP.所以GET和POST的底 ...

  3. Java项目中读取properties文件,以及六种获取路径的方法

    下面1-4的内容是网上收集的相关知识,总结来说,就是如下几个知识点: 最常用读取properties文件的方法 InputStream in = getClass().getResourceAsStr ...

  4. 委托(4).net 3.5中的委托

    .net 3.5引入了Linq,lambda表达式,所以委托的创建变得更加简单和优雅了. .net 3.5中的委托 引入lambda表达式后,就不需要再使用匿名方法了,使得创建委托的方式更加简单和优雅 ...

  5. PHP获取文件大小的方法详解

    对于初入门的PHP新手来说,PHP获取文件大小这个功能实现,或许有一定的难度.但是相信新手小白们在看过本篇文章介绍后,一定能轻松掌握PHP获取文件大小的重要知识! 下面我们通过具体的代码示例,为大家详 ...

  6. 浅谈Java反射机制 之 获取类的 方法 和 属性(包括构造函数)

    上一篇 获取 类 的字节码文件 我们讲到了获取类的字节码文件的三种方法 第三种方法通过getClass("全路径名")获取字节码文件最符合要求 1.获取构造方法 先贴上我们要获取的 ...

  7. js项目第一课:获取节点的方法有三个

    第一种方法: demo.html代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  8. Unity C# 多态 委托 事件 匿名委托 Lambda表达式 观察者模式 .NET 框架中的委托和事件

    一.多态 里氏替换原则: 任何能用基类的地方,可以用子类代替,反过来不行.子类能够在基类的基础上增加新的行为.面向对象设计的基本原则之一. 开放封闭原则: 对扩展开放,意味着有新的需求或变化时,可以对 ...

  9. HTTP协议中POST、GET、HEAD、PUT等请求方法以及一些常见错误

    (来源:http://www.tuicool.com/articles/Ermmmyn) HTTP请求方法: 常用方法: Get\Post\Head (1)Get方法. 取回请求URL标志的任何信息, ...

随机推荐

  1. Android 签名(8)签名前用Zipalign简单优化

    1 为什么要优化 Android SDK中包含一个“zipalign”的工具,它能够对打包的应用程序进行优化.在你的应用程序上运行zipalign,使得在运行时Android与应用程序间的交互更加有效 ...

  2. cf A. Inna and Pink Pony(思维题)

    题目:http://codeforces.com/contest/374/problem/A 题意:求到达边界的最小步数.. 刚开始以为是 bfs,不过数据10^6太大了,肯定不是... 一个思维题, ...

  3. Innodb的启动

    Innodb的启动与关闭 1. 启动函数的流程 innobase_start_or_create_for_mysql 启动的主要步骤包括: 1. 初始化innodb的参数 2. 初始化系统结构 主要结 ...

  4. bzoj1044

    好题 第一问不难,毕竟二分答案类的题目在USACO上都练了好多遍了 第二问充分的暴露了我dp渣的本性 一开始楞是没想出来 f[i,j]表示到第i根木棒切了j刀满足最长段小于等于ans的方案数 式子是这 ...

  5. 5、四大组件之一-Activity与Intent

    一.Activity的定义及作用 1)官方定义:Activity是Android应用程序提供交互界面的一个重要组件 . 也是Android最重要的组件之一 2)Activity是业务类 , 是承载应用 ...

  6. 在windows10+word2010中完美使用北大方正word公式输入法总结

    如果在安装输入法时遇到了无法安装的情况,请首先百度下VC运行库安装下(32位64位都安就是),然后安装北大方正word公式输入法,此时不会再提示无法安装,接着(关键)在word应用程序图标右键-> ...

  7. 微软Azure云主机及blob存储的网络性能测试

    http://www.cnblogs.com/sennly/p/4137024.html 微软Azure云主机及blob存储的网络性能测试 1. 测试目的 本次测试的目的在于对微软Azure的云主机. ...

  8. phpMyAdmin 中数据库替换问题

    将原来的数据库删除,然后进入data文件夹中修改名字, 但是后来前台出现错误: Zend_Db_Statement_Exception Object ( [_previous:Zend_Excepti ...

  9. 取得Resultset的记录条数

    public Boolean exists(String sql) { try { stm = conn.createStatement( java.sql.ResultSet.TYPE_SCROLL ...

  10. Extjs4 MVC Controlller中refs使用

    前面几篇写了一下mvc的整体使用方法,今天写一下controller中refs的试用,refs的作用类似于我们告诉controller我们的一个元素的别名,既alias,那么controller就会为 ...