Objective - C 小谈:程序启动的完整过程
第一步:main函数
第二步:UIApplicationMain
* 创建UIApplication对象
* 创建UIApplication的delegate对象
第三步:delegate代理开始处理(监听)系统事件 (没有storyboard的情况下)
* 程序启动完毕的时候, 就会调用代理的[application:didFinishLaunchingWithOptions:]方法
* 在[application:didFinishLaunchingWithOptions:]中创建UIWindow
* 创建和设置UIWindow的rootViewController
* 显示窗口
第三步:根据Info.plist获得主storyboard的文件名, 并加载主storyboard (有storyboard的情况下)
* 创建UIWindow
* 创建和设置UIWindow的rootViewController
* 显示窗口