appDelegate中的委托协议方法以及使用观察者模式获取其触发方法
2024-10-10 17:22:50
//当应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电
- (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中对应的方法都有
最新文章
- java数据结构_附11_图的接口定义
- java中的异常理解
- <;?xml version=";1.0"; encoding=";utf-16";?>;. use different encoding
- android 分享或者调用系统或者其他app时 应注意! startActivityForResult() 使用
- Win7如何部署apache服务器(包括SSL设置)
- [原创]java WEB学习笔记50:文件上传案例
- 【笨嘴拙舌WINDOWS】设备无关图(*.bmp)
- AcroExch.Rect 单位、属性问题
- 工厂模式[3] 抽象工厂 Abstract Factory
- (萌O(∩_∩)O)哈希知识点小结
- php 抽奖概率 随机数
- react基础篇入门组件
- MySQL查看所有连接的客户端ip
- Ubuntu 12.04上安装MySQL并运行
- spring+shiro共享session完整小例子
- nodejs -Promise
- (转)GANs and Divergence Minimization
- PowerDesigner V16.5 安装教程以及汉化(数据库建模)
- 【iCore4 双核心板_ARM】例程二十:LWIP_TCP_CLIENT实验——以太网数据传输
- android SQLite数据库的基本操作