感谢您查看我的问题。
我的应用程序中有两个视图控制器,每个都有自己的nib文件。 controller1的实例存储在MainWindow.xib中,控制器2的实例存储在Controller1.xib中。
有没有办法确保在app delegate发送applicationDiDFinishLaunching之前初始化控制器2?
实际设置与许多其他视图控制器相比要复杂得多,所以我真的不想把所有东西放到MainWindow.xib中。加上这样做会降低可重用性。
再次感谢!
答案 0 :(得分:0)
有没有办法确保在发送应用代表
applicationDiDFinishLaunching
之前初始化控制器2?
没有。好吧,也许是的,但不是视觉控制器应该如何工作。视图控制器在那里推迟加载笔尖,这是一个相当昂贵的操作,直到视图真的非常非常必要。因此,如果在调用controller2
时需要applicationDidFinishLaunching
,则不应将其放在由另一个视图控制器控制的nib内。
如果我是你,我会停止在nib文件中实例化视图控制器,并在applicationDidFinishLaunching:
内创建它们,如
-(void)applicationDidFinishLaunching:(UIApplication *)application
{
....
self.controller2=[[Controller2 alloc] init... ];
....
}
答案 1 :(得分:0)
我相信applicationDidFinishLaunching
是您可以控制代码的绝对入口点。这可能是最早装载任何东西的地方。