我发现了一个案例,在应用程序委托中的应用程序 didFinishLaunching 方法之前调用了我的一些视图控制器的 initWithCoder 方法。(我已经通过设置断点并查看调用顺序来确认这一点)
我正在使用故事板。UITabBarController 是初始视图控制器。部分问题在于情节提要以未知的顺序创建对象;也许它是在应用程序启动之前创建视图控制器。
无论如何,问题是我正在注册初始用户默认值。这必须在程序的任何部分查看它们之前发生。因此,我试图找到保证首先执行注册代码的位置。
有没有这样的地方?
注意:这个线程讨论了一点,但没有真正的结论......
ViewDidLoad 在 AppDelegate didFinishLaunchingWithOptions 被执行之前运行!