【发布时间】:2015-02-16 23:16:12
【问题描述】:
我今天尝试从 Obj-C 开始并转到 Swift,我正在阅读文档。我尝试在 Swift 中创建一个简单的 IBOutlet,但它不断给我这些错误。
View Controller has no initialiser
必需的初始化(编码器aDecoder:NSCoder){ fatalError("init(coder:) 尚未实现") }
IBOutletproperty has non-optional type 'UILabel'
并且不断弹出以下代码:
@IBOutlet var outputLabel : UILabel
但是当我添加一个 !标记,它运行没有像这样的错误
@IBOutlet var outputLabel : UILabel!
同样的事情发生在 IBActions...
【问题讨论】:
-
我建议阅读第二个答案:stackoverflow.com/questions/24006975/… 非常有用。
-
@DánielNagy 我可能会问,我在网上查看了一些视频教程,但他们从来没有放过!...为什么他们和我们必须这样做?谢谢
-
视频教程可能已经过时 - 最初
IBOutlet装饰器也将属性设为可选,这很早就被更改了。 -
是的,正如@jrturton 所说。现在你必须把!在 and,因为它只有在初始化之后才会有它的值。
-
好的。非常感谢大家!!