程序的启动过程&View创建的优先级

当启动一个程序的时候,程序的启动过程是这样的.

加载main函数-->加载UIApplicationMain函数,根据UIApplicationMain创建UIApplication对象和UIApplication的Delegate对象,启动主循环-->

  • 1.没有storyboard时:
    -->调用application: didFinishLaunching方法-->创建和设置UIWindows的rootViewController-->显示窗口
  • 2.有storyboard时:
    -->根据Info.plist加载最主要的storyboard-->创建和设置UIWindows的rootViewController-->显示窗口


初始化一个控制器的时候,可能从代码创建一个view,可能从storyboard创建,也可能从xib中加载一个view.三者有一定的优先级顺序.

  • 1.第一优先级是loadView函数.
  • 2.第二优先级是storyboard.
  • 3.优先级最低的是xib文件,当前两者都不存在时才会根据NibName加载view.
    对于没有设定NibName的xib文件,系统会优先寻找默认为"XXXView.xib"名称的view,其次寻找默认名称为"XXXViewController.xib"名称的view.当以上都没有的情况下,系统最终会创建一个空的view显示出来.

由于笔者知识有限,如有错误,欢迎指出。

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

推荐阅读更多精彩内容