app启动过程

一 没有storyboard文件

 1,调用main 函数

2 调用applicationmain 函数

3,创建application对象,appDelegate对象

4,设置application对象的代理为appDelegate

5,appdelegate对象监听系统时间,开启运行循环

6,程序启动完成调用application: didFinishLaunchingWithOptions:方法中创建:

1,创建uiwindow ,控制器, window 的跟控制器 ,windowkeyand visible。

二、 有storyboard文件

             1.调用main函数。

             2.调用UIApplicationMain

            3.创建UIApplication对象 、 AppDelegate对象

            4.设置UIApplicatio对象的代理是AppDelegate对象。

             5.AppDelegate对象开始监听"系统事件(应用程序的事件)",进入"事件循环"

             6.程序启动完毕后调用 application: didFinishLaunchingWithOptions:方法。

              7.在application: didFinishLaunchingWithOptions:方法中创建:                          

                 * 系统自动创建UIWindow对象。

                 * 根据Info.plist文件配置(Main Interface),找到需要加载的storyboard文件(Main.storyboard)

                  * 找到Main.storyboard中的Is Initial View Controller 对应的控制器类, 创建该控制器对象。

                   * 根据storyboard中的配置, 创建控制器对应的view。

                    * 设置UIWindow的根控制器(rootViewController)为刚才创建的控制器。

                    * 显示UIWindow([self.window makeKeyAndVisible])。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 程序入口点 当iOS app启动时,系统会根据app bundle中的 Info.plist 文件中的 Execu...
    木板钉钉阅读 3,475评论 2 9
  • 启动过程 一. 加载main函数,应用创建的第一个实例就是main函数中的UIApplicationMain实例 ...
    简_爱SimpleLove阅读 323评论 0 0
  • 当用户点击应用图标之后,应用就开始启动。应用启动完成后,就会展示一系列的视图,和用户进行各种各样的交互(如滑动、点...
    Pandakingli阅读 739评论 0 1
  • 前言 文章中的观点主要通过阅读苹果官方文档和代码调试结果得出,如有偏差或者遗漏的地方,欢迎留言指出。 这张图来自于...
    木小土阅读 1,317评论 2 2
  • [别样生活,万卷书万里路]2017年11月9日,连续1000天阅读日志第251天。 每天早上,作为一个有死亡焦虑症...
    颜玉读书阅读 680评论 6 14