简介
我正在试着调试我的程序,我遇到了一个问题。我得到一个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()方法中触发该工作。

09-17 12:38