IOS开发--IOS程序运行过程详情

IOS运行过程详情
1.每一个应用程序都有属于自己的UIWindow,UIWindow继承自UIView

2.UIView面临的问题
1》谁来控制UIView之间的切换?
2》谁来管理UIView的生命周期?
3》谁来给UIView装配数据?
4》谁来监听UIView的事件?

上面3个问题的答案是:控制器(UIViewController)
IOS程序的运行过程:
1.首先执行main函数

2.执行UIApplicationMain函数

3.UIApplicationMain函数内部
1》创建一个UIApplication实例。这个UIApplication对象是单例的,一个IOS程序对应一个UIApplication对象
2》UIApplication对象是应用程序的象征
3》开启一个消息循环(main loop)用来监听用户的操作。
4》再创建一个UIApplication的delegate对象,负责监听UIApplication的生命周期
5》当UIApplication的生命周期发生改变时,会给delegate发送不同的消息。
*当第一次运行程序的时候:
(加载完毕)-> (获取焦点)
*当点击home键的时候:
(失去焦点)->(进入后台 )
*当再次点击应用图标重新进入应用的时候:
(进入前台)->(获取焦点)
UIApplicationMain函数的参数:
*第三个参数用来指定UIApplication的类名(或者子类),如果为nil,默认就是UIApplication.

*第四个参数用来指定UIApplication的代理。

//设置窗口的根控制器
self.window.rootViewController=self.viewController;
//上面的代码内部执行了下面代码的操作
[self .window addSubview:self.viewController.view];
//窗口不会默认显示,需要调用方法来显示
//keyWindow是主窗口,只有主窗口才能跟用户正常交互
[self.window makeKeyAndVisible];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值