以下代码。为什么"覆盖声明需要'覆盖'关键字"发生错误?不是这个" Swift"为房产提供吸气剂和制定者的方式?
class TestClass : UICollectionViewCell {
var _selected = false
var selected : Bool {
get {
return _selected
}
set {
_selected = newValue
selectedView.hidden = !_selected
}
}
}
答案 0 :(得分:3)
首先,不要在Swift中使用selected
。它是Objective-C风格。
其次,在_selected
之前有override
个关键字,因为它的超级已经声明了一个具有相同名称的属性。
<强>更新强> 这是一个商店价值,你不需要做任何事情来获得它的价值,因为swift会自动存储它。
var selected : Bool
或者使用didSet:
override var selected : Bool {
get {
return super.selected
}
set {
selectedView.hidden = !newValue
}
}
使用存储值来保持持久性值。使用计算(具有getter)来获得实时值。
答案 1 :(得分:2)
我认为您的错误原因是8'h1F
已经定义了一个名为UITableViewCell
的属性。