在我使用故事板之前,我的所有控制器都在以下位置初始化:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
我可以在创建控制器之前初始化所有公共对象(数据管理器等),并将它们传递给控制器。
在我的第一个故事板项目中,我注意到我的一个控制器有
- (void)viewDidLoad
//called before the app's
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
如果我在应用程序完成启动之前使用故事板并且我的控制器已加载,那么我应该在哪里放置我的公共对象初始化代码以确保它只被调用一次?
谢谢!
答案 0 :(得分:2)
从应用程序的文档:didFinishLaunchingWithOptions:
...在您的应用程序启动后,它会被调用 nib文件已加载。
要在初始化之前阻止加载故事板,您可以删除-Info.plist中的主xib文件或故事板(对于故事板,它称为Main storyboard file base name
)。然后,您可以在需要时手动创建故事板。