gpt4 book ai didi

ios - 为什么 ViewDidLoad() 中的 self.currentViewController 为 nil?

转载 作者:行者123 更新时间:2023-11-28 06:26:45 24 4
gpt4 key购买 nike

最近更改了我项目中的哪个 View 是起点(在 IB 中箭头指向它),现在当应用程序在模拟器中启动时出现以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

错误发生在 View 的 ViewDidLoad() 期间,曾经是 的起点,但现在不是了。老实说,我什至不确定为什么要加载它,但这不是 Swift 的一部分,我知道这足以识别这个 View (也)是否在启动时加载是预期的。出现错误的代码是:

override func viewDidLoad() {

print("Former First View starts DidLoad")

// Code to enable the containerView to work:
self.currentViewController = self.storyboard?.instantiateViewController(withIdentifier: "SmallViewWithinMainView")
self.currentViewController!.view.translatesAutoresizingMaskIntoConstraints = false
self.addChildViewController(self.currentViewController!)
// Error occurs in the next line:
self.addSubview(subView: self.currentViewController!.view, toView: self.SortFilterEtcContainerView)

super.viewDidLoad()

// ...

通过测试,self.currentViewController 现在实际上是 nil,但我不清楚如何解决这个问题。在更改之前,当这个 View 是一切开始的地方时,它运行良好。需要做什么才能使 self.currentViewController 不再为零?

最佳答案

xcode 9 和 swift 3 也有同样的问题。我修复了它以这种方式转换 ViewController:

if let destinationViewController = self.storyboard?.instantiateViewController(withIdentifier: "ReaIDController") as? DetalleIpadViewController 

关于ios - 为什么 ViewDidLoad() 中的 self.currentViewController 为 nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41638803/

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