具体来说,我想didFinishLaunchingWithOptions
在我的主视图控制器中注册一个通知 - 在发布之前 - 这样我就可以从“splash”(请原谅我 Ob-C 书呆子,忘记它的真正名称)屏幕执行任务而不做不祥之兆
[[[[[[UIApplication sharedApplication] delegate] window] rootViewController] topViewController] functionIwantToCallOnceAtTheStart];
旁注:我喜欢拥有“全球开始哨声”的想法,为什么这不是默认设置?
日志记录didFinishLaunchingWithOptions
和根视图控制器的委托方法导致
2013-07-25 02:02:46.532 Tests[918:c07] awakeFromNib
2013-07-25 02:02:46.535 Tests[918:c07] didFinishLaunchingWithOptions
2013-07-25 02:02:46.538 Tests[918:c07] viewDidLoad
2013-07-25 02:02:46.539 Tests[918:c07] viewWillAppear
2013-07-25 02:02:46.540 Tests[918:c07] viewWillLayoutSubviews
2013-07-25 02:02:46.543 Tests[918:c07] viewDidLayoutSubviews
2013-07-25 02:02:46.544 Tests[918:c07] viewWillLayoutSubviews
2013-07-25 02:02:46.545 Tests[918:c07] viewDidLayoutSubviews
2013-07-25 02:02:46.549 Tests[918:c07] viewDidAppear
但它是否保证awakeFromNib
总是在 didFinishLaunchingWithOptions 之前出现,并且在所有 iOS 设备/版本上?
这个问题有一个有用的答案,但我的项目正在使用情节提要,我不确定使用情节提要手动设置 rootViewController 的含义。
编辑:
我最初问这个问题是因为我想让启动图像动画化。我意识到有更好的方法可以做到这一点,但我仍然想在应用程序启动后立即使用“应用程序启动”通知启动网络请求来填充我的主视图控制器(UITableViewController)。