例如,视图控制器中有一个属性
@IBOutlet weak var nameLabel: UILabel!
此属性是nil
inside viewWillAppear
and viewDidLoad
,因此应用程序在运行时崩溃。
它在 Xcode 6 Beta 4 中工作正常。在我切换到 Beta 5 后,它抱怨控制器类does not implement its superclass's required members
。所以我添加了
required init(coder aDecoder: NSCoder!) {
super.init(coder: aDecoder)
}
那个编译器错误消失了。但是,该应用程序崩溃了unexpectedly found nil while unwrapping an Optional value
因为那个nameLabel
财产是nil
当我尝试设置它时text
.
我通读了发行说明,但不知道如何解决这个问题。
我在 Beta5 中也遇到了同样的问题。这似乎是一个问题
init(nibName: nil, bundle: nil)
没有将 nil 映射到默认 nibName。当我更改为显式 nibName 时,它就起作用了。特别是在我的例子中,使用新的 ??操作员:
override init(nibName nibNameOrNil: String!, bundle nibBundleOrNil: NSBundle!) {
// beta5 workaround: replace nil with explicit name of xib file
let nib = nibNameOrNil ?? "MyViewController"
super.init(nibName: nib, bundle: nibBundleOrNil)
// local initialization here
}
使它再次神奇地发挥作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)