简介
我正在试着调试我的程序,我遇到了一个问题。我得到一个swift错误:Unexpectedly found nil while unwrapping an optional value.
这个问题来自一个隐式展开的选项。错误在ViewControllerB的init?(aDecoder:)
中,我设置值的地方在ViewControllerA的prepareForSegue(_:sender:)
中,它使用“show segue”转到ViewControllerB。
问题
这使我想到ViewControllerB中的init?(aDecoder:)
方法是在ViewControllerA中的prepareForSegue(_:sender:)
之前调用的。我说得对吗?
最佳答案
对。在应用程序的其他地方使用对象之前,它总是被初始化的。
如果需要做的工作取决于所设置的属性,则通常可以从属性上的didSet
观察者或在viewDidLoad()
方法中触发该工作。