计算属性生成"覆盖声明需要'覆盖'关键字"错误

时间:2016-02-21 07:08:04

标签: ios swift

以下代码。为什么"覆盖声明需要'覆盖'关键字"发生错误?不是这个" Swift"为房产提供吸气剂和制定者的方式?

class TestClass : UICollectionViewCell {
        var _selected = false

        var selected : Bool {
        get {
            return _selected
        }

        set {
            _selected = newValue
            selectedView.hidden = !_selected
        }
    }
}

2 个答案:

答案 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的属性。