【发布时间】:2015-06-10 21:36:14
【问题描述】:
我创建了一个 NSView 的子类,如下所示
class StudentCardView: NSView {
let firstName: String
init(name: String) {
firstName = name
super.init()
}
required init?(coder: NSCoder) {
super.init(coder: coder) <-- ERROR: firstName not initialised
}
}
let myName = "Test-Name"
var cell = StudentCardView(name: myName)
如何消除需要在 init(coder) 中初始化 firstName 的错误,因为我不打算在情节提要中创建 StudentCardView 的任何视图。
我同意,在调用超类初始化程序之前需要初始化所有常量。这里有出路吗?我犯了任何设计错误吗?
【问题讨论】: