iOS 程序启动过程




1.main函数

程序启动后 首先执行main函数, 

* main 函数中 执行 UIApplicationMain函数;


2.UIApplicationMain

int UIApplicationMain(int argc , char *argv[] , NSString *principalClassName , NSString * delegateClassName );
 * argc ,argv : 直接传递给UIApplicationMain 进行相关处理;

 

* principalClassName: 指定应用程序类名 , 该类必须是 UIApplication (或子类) , 如果为 nil ,则用UIApplication 类 作为默认值

* delegateClassName : 指定应用程序的代理类, 该类必须遵守 UIApplicationDelegate 协议.


* 根据principalClassName 参数 创建UIApplication对象

* 根据 delegateClassName 参数 创建UIApplicationdelegate对象


3.delegate对象开始处理(监听)系统事件(没有storyboard)

*程序启动完毕的时候,就会调用代理的application:didFinishLaunchingWithOptions:方法

*application:didFinishLaunchingWithOptions:中创建UIWindow

* UIWindow 继承子UIView

iOS 程序启动后创建的 第一个可视控件就是UIWindow,一个程序之所以能显示在屏幕上 是因为 它有window

* 想要是 window 显示内容有 两种方法

* addSubView : (UIView *)view 直接添加 , 但是 并不理会 view对应的UIViewController;

* 把想要显示的view 的UIViewController 赋值给 UIWindow 的 rootViewController;


*创建和设置UIWindowrootViewController

*显示窗口

* -(void)nakeKeyWindow; 让当前UIWindow 成为 主窗口;

* -(void)makeKeyAndVisible; 让当前UIWindow 成为主窗口, 并显示出来;


3.根据Info.plist获得最主要storyboard的文件名,加载最主要的storyboard(storyboard)

*创建UIWindow

*创建和设置UIWindowrootViewController

*在storyboard中 箭头所指的控制器 即为 rootViewController

*显示窗口




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值