iOS应用程序运行流程

iOS应用程序运行流程

ID:20602813

大小:149.84 KB

页数:34页

时间:2018-10-14

iOS应用程序运行流程_第1页
iOS应用程序运行流程_第2页
iOS应用程序运行流程_第3页
iOS应用程序运行流程_第4页
iOS应用程序运行流程_第5页
资源描述:

《iOS应用程序运行流程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、iOS应用程序运行流程UIApplicationMain★ 在main.m的main函数中执行了UIApplicationMain这个方法,这是ios程序的入口点 ★intUIApplicationMain(intargc,char*argv[],NSString*principalClassName,NSString*delegateClassName) ★ argc、argv:ISOC标准main函数的参数,直接传递给UIApplicationMain进行相关处理即可 ★ principalClassName:指定应用程序类,该类必须是UIApp

2、lication(或子类)。如果为nil,则用UIApplication类作为默认值 ★ delegateClassName:指定应用程序类的代理类,该类必须遵守UIApplicationDelegate协议 UIApplicationMain★ 此函数会根据principalClassName创建UIApplication 对象,根据delegateClassName创建一个delegate对象,并将该delegate对象赋值给UIApplication对象中的delegate属性★ UIApplication对象会依次给delegate对象发送不

3、同的消息,接着会建立应用程序的mainrunloop(事件循环),进行事件的处理(首先会调用delegate对象的application:didFinishLaunchingWithOptions:)★ 程序正常退出时这个函数才返回。如果进程要被系统强制杀死,一般这个函数还没来得及返回进程就终止了★ 如果设置了主xib文件(在Info.plist中指定,key是NSMainNibFile),就会在主xib文件中寻找UIApplication和连接它的delegate。因此在主xib文件中,File’sOwner必须为UIApplication(或子类

4、),并且建立一个遵守UIApplicationDelegate的delegate对象,建立UIApplication和delegate对象的关联关系四大对象关系图iOS中的mvc UIApplication★ UIApplication是应用程序的核心,每一个程序在运行期必须有UIApplication(或子类)的一个实例(有且仅有一个),通过[UIApplicationsharedApplication]可以得到这个单例实例的指针★ UIApplication帮助管理应用程序的生命周期,而它通过delegate 来履行这个任务★ UIApplica

5、tion可以接收事件,把所有用户事件都放入队列,逐个处理,它会发送当前事件给一个合适的目标控件进行处理。它还将部分 事件转给delegate对象来处理,delegate可处理的事件包括:应用程序的生命周期事件(如程序启动和关闭)、系统事件(如来电)UIApplication★ [UIApplicationsharedApplication].windows: 在本应用中打开的UIWindow列表,这样就可以接触应用中的任何一个UIView对象★ [UIApplicationsharedApplication].keyWindow: 用来接收键盘以及非

6、触摸类的消息事件的UIWindow,而且程序中每个时刻只能有一个UIWindow是keyWindow。 如果某个UIWindow内部的文本框不能输入文字,可能是因为这个UIWindow不是keyWindow下面是这个类的一些功能:1.设置icon上的数字图标//设置主界面icon上的数字图标,在2.0中引进, 缺省为0[UIApplicationsharedApplication].applicationIconBadgeNumber=4;2.设置摇动手势的时候,是否支持redo,undo操作//摇动手势,是否支持redoundo操作。//3.0以后

7、引进,缺省YES[UIApplicationsharedApplication].applicationSupportsShakeToEdit=YES;3.判断程序运行状态//判断程序运行状态,在2.0以后引入/*UIApplicationStateActive,UIApplicationStateInactive,UIApplicationStateBackground*/if([UIApplicationsharedApplication].applicationState==UIApplicationStateInactive){NSLog(@

8、"程序在运行状态");}4.阻止屏幕变暗进入休眠状态//阻止屏幕变暗,慎重使用,缺省为no2.0[UIApp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。