创建应用程序之后之后,默认有AppDelegate.h文件与AppDelegate.m文件。  
 
AppDelegate为何物?  
AppDelegate为整个应用的一个代理,提供程序启动、退出等类似监控的接口。  
 
 
 
 
AppDelegate.m  
 
接口所在的文件,常见接口有:  
 
application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions//应用程序启动后,要执行的委托调用  
 
applicationWillResignActive:(UIApplication *)application//应用程序将要由活动状态切换到非活动状态时执行的委托调用,如按下home 按钮,返回主屏幕,或全屏之间切换应用程序等。  
 
applicationDidEnterBackground:(UIApplication *)application//在应用程序已进入后台程序时,要执行的委托调用。所以要设置后台继续运行,则在这个函数里面设置即可。  
 
applicationWillEnterForeground:(UIApplication *)application//在应用程序将要进入前台时(被激活),要执行的委托调用,与applicationWillResignActive 方法相对应。  
 
applicationDidBecomeActive:(UIApplication *)application//在应用程序已被激活后,要执行的委托调用,刚好与  applicationDidEnterBackground 方法相对应。  
 
applicationWillTerminate:(UIApplication *)application//在应用程序要完全退出的时候,要执行的委托调用。  
 
 
 
全局变量  
 
AppDelegate可以在整个应用程序中调用,在其他页面中可以使用代码段获取AppDelegate的全局变量:AppDelegate *appDelegate=[[UIApplication sharedApplication] delegate];  
 
因此可以在AppDelegate.h中定义需要全局使用的变量。  
 
 
 
系统启动代理(第一个页面的加载)  
 
application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
 
一般在该代理接口中需要进行应用系统window(程序显示窗口)配置,完成页面弹出效果。(AppDelegate默认拥有UIWindow *window实例变量)  
可以使用以下代码段完成:  
 
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];//显示窗口配置  
    LoginViewController *login = [[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];//初始化应用系统需要显示的第一个页面(一般为ViewController)  
    self.window.rootViewController = login;//配置window窗口的rootViewController实例  
    //判定系统版本,选择页面加载方式  
    if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)  
    {  
        [self.window addSubview:login.view];  
    }  
    else  
    {  
        [self.window setRootViewController:login];  
    }  
    [self.window makeKeyAndVisible];  
    return YES;  
 
 
结语:AppDelegate的使用还有很多,随着应用程序的开发,我会继续补充完善。  
 
补充:应用创建之后可以在Supporting Files分组中看到main.m类文件,是整个应用最开始的入口。 
执行的代码段为:return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 最后一个参数即为应用中的AppDelegate类的实例,执行这段程序即进入AppDelegate类中的application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  方法接口。

from :http://www.cocoachina.com/bbs/read.php?tid=209348

【转】ios开发之AppDelegate的更多相关文章

  1. ios开发之AppDelegate

    创建应用程序之后之后,默认有AppDelegate.h文件与AppDelegate.m文件.   AppDelegate为何物?  AppDelegate为整个应用的一个代理,提供程序启动.退出等类似 ...

  2. iOS开发之Socket通信实战--Request请求数据包编码模块

    实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...

  3. iOS开发之UISearchBar初探

    iOS开发之UISearchBar初探 UISearchBar也是iOS开发常用控件之一,点进去看看里面的属性barStyle.text.placeholder等等.但是这些属性显然不足矣满足我们的开 ...

  4. iOS开发之UIImage等比缩放

    iOS开发之UIImage等比缩放 评论功能真不错 评论开通后,果然有很多人吐槽.谢谢大家的支持和关爱,如果有做的不到的地方,还请海涵.毕竟我一个人的力量是有限的,我会尽自己最大的努力大家准备一些干货 ...

  5. iOS开发之 Xcode6 添加xib文件,去掉storyboard的hello world应用

    iOS开发之  Xcode6.1创建仅xib文件,无storyboard的hello world应用 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载原理 ...

  6. iOS开发之loadView、viewDidLoad及viewDidUnload的关系

    iOS开发之loadView.viewDidLoad及viewDidUnload的关系 iOS开发之loadView.viewDidLoad及viewDidUnload的关系    标题中所说的3个方 ...

  7. iOS开发之info.pist文件和.pch文件

    iOS开发之info.pist文件和.pch文件 如果你是iOS开发初学者,不用过多的关注项目中各个文件的作用.因为iOS开发的学习路线起点不在这里,这些文件只会给你学习带来困扰. 打开一个项目,我们 ...

  8. iOS开发之WKWebView简单使用

    iOS开发之WKWebView简单使用   iOS开发之 WKWebVeiw使用 想用UIWebVeiw做的,但是突然想起来在iOS8中出了一个新的WKWebView,算是UIWebVeiw的升级版. ...

  9. iOS 开发之Block

    iOS 开发之Block 一:什么是Block.Block的作用 UI开发和网络常见功能的实现回调,按钮事件的处理方法是回调方法. 1.     按钮事件 target action 机制. 它是将一 ...

随机推荐

  1. badboy 之 查看回放结果

    在运行脚本时,Badboy提供了Summary功能方便我们监控回放结果状态,如下Summary view: 以下表格对运行情况的各个维度进行解释: 统计点 描述 Played 运行或回放脚本的次数 S ...

  2. FastJson与Gson小测试

    最近用到Json来传输数据,找到两个比较简单的工具 Gson 和 FastJson随便测试一下两个工具的效率~ 1 package com.json.fast; import java.util.Ar ...

  3. 机器人学 —— 机器人视觉(Bundle Adjustment)

    今天完成了机器人视觉的所有课程以及作业,确实是受益匪浅啊! 最后一个话题是Bundle Adjustment. 机器人视觉学中,最顶尖的方法. 1.基于非线性优化的相机位姿估计 之前已经在拟合一篇中, ...

  4. SPOJ 416 Divisibility by 15 细节题

    一个结论:一个数,如果它的所有数字之和能被3整除,那么这个数也能被3整除. 最后一位肯定是0或者5,如果没有就impossible. 剩下的就是,如何删除尽量少的数,使所有数字之和为3的倍数. 情况比 ...

  5. poj 1325 Machine Schedule 二分匹配,可以用最大流来做

    题目大意:机器调度问题,同一个任务可以在A,B两台不同的机器上以不同的模式完成.机器的初始模式是mode_0,但从任何模式改变成另一个模式需要重启机器.求完成所有工作所需最少重启次数. ======= ...

  6. java实现附件预览(openoffice+swftools+flexpaper)

    先附上本人参考的文章,基于的 flexpaper版本 为 1.5,本人由于使用的是 2.1.9 ,故之后说明: 已经支持加载中文文件名 代码下载 1.概述 主要原理 1.通过第三方工具openoffi ...

  7. YTU 2601: 熟悉题型——填空题(删除线性表节点)

    2601: 熟悉题型--填空题(删除线性表节点) 时间限制: 1 Sec  内存限制: 128 MB 提交: 357  解决: 212 题目描述 给出一串具体长度的数据,删除指定数据. 已经给出部分代 ...

  8. MV、MVC、MVP、MVVM简介,对MVC不确定了。

    参考: http://www.cnblogs.com/changxiangyi/archive/2012/07/16/2594297.html http://www.jcodecraeer.com/a ...

  9. 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )

    从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 )   我现在在Coursera上面学data science 中的R programming,过去很少接 ...

  10. html_表单

    一.表单框架简介 表单是提供让读者在网页上输入,勾选和选取数据,以便提交给服务器数据库的工具.(用于将信息提交给服务器) <form>...</form>标记 作用:用于创建一 ...