gpt4 book ai didi

ios - 为什么一个 View Controller 创建了两次?

转载 作者:搜寻专家 更新时间:2023-11-01 06:30:13 24 4
gpt4 key购买 nike

我的 AppDelegate::didFinishLaunchingWithOptions 中有以下代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

createContainer { container in
let storyboard = self.window?.rootViewController?.storyboard

guard let vc = storyboard?.instantiateViewController(withIdentifier: "Main") as? MainViewController else {
fatalError("Cannot instantiate root view controller")
}

vc.context = container.viewContext
self.window?.rootViewController = vc
}

return true
}

我的 MainViewController 是在启动时创建的,堆栈显示如下:

0 MainViewController.viewDidLoad()
UIApplicationMain
main
start

然后在下面一行中创建:

self.window?.rootViewController = vc

第一次看到一个vc创建了两次。
这正常吗?
我有什么办法可以防止这种情况发生吗?

最佳答案

UIApplicationMain 在您收到 application:didFinishLaunchingWithOptions: 消息之前自动实例化主 Storyboard的初始 View Controller 。您不应该在 application:didFinishLaunchingWithOptions: 中“手动”实例化它。

关于ios - 为什么一个 View Controller 创建了两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48450720/

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