当启动一个程序的时候,程序的启动过程是这样的.
加载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显示出来.
由于笔者知识有限,如有错误,欢迎指出。
网友评论