我在同一个nib文件中有我的主应用程序视图控制器(文件所有者),它的First Responder,View和其他3个UIViewControllers。 3个UIViewControllers中的每一个都在主UIViewController上作为IBOutlet引用。
我的问题是,主UIViewController何时在其生命周期中启动这3个UIViewControllers(我的猜测是在调用viewDidLoad之前的某个时间),我应该担心优化它们的加载方式和时间。原因很明显,如果应用程序加载主视图控制器,然后立即开始加载其他视图控制器,则用户可能必须等待所有内容先加载。但是,如果我仍然可以合成IBOutlet,但可以选择何时加载那些视图控制器(及其视图),那么这肯定会有所改进。
答案 0 :(得分:1)
UIViewController
没有初始化插座,这是由awakeFromNib
和viewDidLoad
之前的笔尖加载代码完成的。一个nib文件中的任何内容都会同时加载,实例化和初始化。因此,只要您的视图位于同一个笔尖中,就无法按需加载它们。您应该将其他视图放在不同的nib文件中,并在需要时加载它们。把所有东西都放在一个笔尖里不是一个好主意。