iOS学习之详解AppDelegate
AppDelegate,
类似于监听接口。 用个很简单的例子说:ios系统会控制每个程序的开始和结束。但是ios又不知道每个程序的开始需要运行成么代码,结束需要运行什么代码。这个时候,ios就制定了一个规则:如果你是我的代理程序,那么我在开始的时候就会运行你里面的– applicationDidFinishLaunching方法,我会在结束的时候运行你的– applicationWillTerminate方法,这是UIApplicationDeligate定义的接口。
//状态:应用程序开始加载
//经常用来存放当应用程序加载时想要显示的内容.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
NSLog(@"%s",__FUNCTION__);
return YES;
}
//当应用程序将要进入非活动状态执行,在此期间,应用程序不接受消息或事件,比如来电
- (void)applicationWillResignActive:(UIApplication *)application
{
NSLog(@"应用程序将要进入非活动状态,即将进入后台");
}
//应用程序已经进入后台运行
//使用该方法释放共享资源,保存用户数据,让timer无效,存储当前应用程序状态为下次恢复,如果你的应用程序支持后台,这个方法将会替代applicationWillTerminate:当用户退出;
- (void)applicationDidEnterBackground:(UIApplication *)application
{
NSLog(@"如果应用程序支持后台运行,则应用程序已经进入后台运行");
}
//应用程序将要进入活动状态执行
//该方法经常用来重新唤醒进入后台时的任务;
- (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? ------ 有待学习;
iOS学习之详解AppDelegate的更多相关文章
- iOS学习——UIAlertController详解
在开发中,弹出提示框是必不可少的.这两天项目中统一对已经被iOS API废弃的UIAlertView和UIActionSheet进行替换,我们知道,UIAlertView和UIActionSheet都 ...
- 了解iOS消息推送一文就够:史上最全iOS Push技术详解
本文作者:陈裕发, 腾讯系统测试工程师,由腾讯WeTest整理发表. 1.引言 开发iOS系统中的Push推送,通常有以下3种情况: 1)在线Push:比如QQ.微信等IM界面处于前台时,聊天消息和指 ...
- iOS中-Qutarz2D详解及使用
在iOS中Qutarz2D 详解及使用 (一)初识 介绍 Quartz 2D是二维绘图引擎. 能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成 ...
- iOS应用开发详解
<iOS应用开发详解> 基本信息 作者: 郭宏志 出版社:电子工业出版社 ISBN:9787121207075 上架时间:2013-6-28 出版日期:2013 年7月 开本:16开 ...
- iPhone应用开发 UITableView学习点滴详解
iPhone应用开发 UITableView学习点滴详解是本文要介绍的内容,内容不多,主要是以代码实现UITableView的学习点滴,我们来看内容. -.建立 UITableView DataTab ...
- 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )
原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...
- iOS 2D绘图详解(Quartz 2D)之路径(点,直线,虚线,曲线,圆弧,椭圆,矩形)
前言:一个路径可以包含由一个或者多个shape以及子路径subpath,quartz提供了很多方便的shape可以直接调用.例如:point,line,Arc(圆弧),Curves(曲线),Ellip ...
- iOS开发——Block详解
iOS开发--Block详解 1. Block是什么 代码块 匿名函数 闭包--能够读取其他函数内部变量的函数 函数变量 实现基于指针和函数指针 实现回调的机制 Block是一个非常有特色的语法,它可 ...
- iOS开发:详解Objective-C runTime
Objective-C总Runtime的那点事儿(一)消息机制 最近在找工作,Objective-C中的Runtime是经常被问到的一个问题,几乎是面试大公司必问的一个问题.当然还有一些其他问题也几乎 ...
随机推荐
- SuperMap
SuperMap iClient for JavaScript 新手入门 地理信息系统(英语:Geographic Information System,缩写:GIS)是一门综合性学科,结合地理学与地 ...
- [转]RegOpenKeyEx函数失败的问题
在使用这个函数RegOpenKeyEx的时候,老是执行不成功,函数本身返回2,GetLastError返回0.在CSDN上查阅资料说是返回2的原因是注册表中对应路径不存在,可是我电脑中注册表那个键值明 ...
- Sql 高效分页
http://www.111cn.net/database/mysql/46350.htm http://g.kehou.com/t1032617472.html http://www.cnblogs ...
- zabbix 发送邮件配置
Administration->Users->User name->Media <img src="http://img.blog.csdn.net/20160919 ...
- 读书笔记:java并发
java中主要的同步机制是关键字synchronized,它提供一种独占锁,但是 同步这个术语还包括validate类型的变量,显示锁(Explicit Lock)以及原子变量. -------显示锁 ...
- C# 实现MD5 Hash 计算
C#提供了一系列的加密库,可以让我们自由使用,这里我来介绍如何使用C#的加密库实现MD5 hash值的计算工作. 参考代码: private static String CalcMd5(String ...
- 使用Python,字标注及最大熵法进行中文分词
使用Python,字标注及最大熵法进行中文分词 在前面的博文中使用python实现了基于词典及匹配的中文分词,这里介绍另外一种方法, 这种方法基于字标注法,并且基于最大熵法,使用机器学习方法进行训练, ...
- Android学习总结——强制下线功能(广播)
最近一口气买了好几本书,其中Android的<第一行代码>觉得真心不错,学到这个内容,顺便做个总结,加深印象. 强制下线的基本思想就是在界面上弹出一个对话框,让用户必须点击确定按钮跳转到登 ...
- Android菜鸟的成长笔记(28)——Google官方对Andoird 2.x提供的ActionBar支持
在Google官方Android设计指南中(链接:http://www.apkbus.com/design/get-started/ui-overview.html)有一个新特性就是自我标识,也就是宣 ...
- hdu 4405 Aeroplane chess (概率DP)
Aeroplane chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...