gpt4 book ai didi

ios - viewControllers 在应用程序 didFinishLaunching *之前*初始化

转载 作者:可可西里 更新时间:2023-11-01 05:42:02 25 4
gpt4 key购买 nike

我发现在应用程序委托(delegate)中调用应用程序 didFinishLaunching 方法之前我的一些 View Controller 的 initWithCoder 方法被调用的情况。 (我已经通过设置断点和查看调用顺序确认了这一点)

我正在使用 Storyboard。 UITabBarController 是初始 View Controller 。部分问题在于 Storyboard以未知顺序创建对象;也许它是在应用程序完成启动之前创建 View Controller 。

无论如何,问题是我正在注册初始用户默认设置。这必须在程序的任何部分查看它们之前发生。因此,我试图找到保证注册代码首先执行的位置。

有这样的地方吗?

注意:这个线程讨论了一点,但没有真正的结论......

ViewDidLoad runs before AppDelegate didFinishLaunchingWithOptions gets executed!

最佳答案

初始化用户默认值的标准方法是在您的应用委托(delegate)中的“+(void)initialize”方法中:

+ (void)initialize
{
if(self == [MyAppDelegate class]) {
...
}
}

这保证在任何委托(delegate)方法收到消息之前运行。

PS:在从该方法返回之前,我在 didLaunch 方法中实例化了一大堆 viewController。

关于ios - viewControllers 在应用程序 didFinishLaunching *之前*初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850883/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com