程序启动分为两类:1.有 storyboard 2.没有 storyboard
-
1、有 storyboard
- 1.main 函数
- 2.UIApplicationMain
- 创建 UIApplication 对象
- 创建 UIApplication 的 delegate 对象
- 3.根据 Info.plist 获得最主要 storyboard 的文件名,加载最主要的 storyboard(有 storyboard)
- 创建 UIWindow
- 创建和设置 UIWindow 的 rootViewController
- 显示窗口
2、没有 storyboard
- 1.main 函数
- 2.UIApplicationMain
- 创建 UIApplication 对象
- 创建 UIApplication 的 delegate 对象
- 3.delegate 对象开始处理(监听)系统事件(没有 storyboard)
- 程序启动完毕的时候, 就会调用代理的 application:didFinishLaunchingWithOptions:方法
- 在 application:didFinishLaunchingWithOptions:中创建 UIWindow
- 创建和设置 UIWindow 的 rootViewController* 显示窗口