我在父类中声明了属性:
var textLabel: UILabel! { get }
是否可以在子类中使其可写?
答案 0 :(得分:11)
是的,可以在子类中使其可写。但是,由于它是计算属性,因此您很可能必须添加另一个存储的属性来保存您要分配的新值。我用下面的字符串来说明:
class Parent {
var text: String {
get {
return "Parent"
}
}
}
class Child: Parent {
var _text: String = "Child"
override var text: String {
get {
return _text
}
set {
self._text = newValue
}
}
}
let child = Child()
child.text = "New String"