程序的启动过程&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显示出来.

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

你可能感兴趣的:(程序的启动过程&View创建的优先级)