无法使用存储的属性覆盖

我有一个单元格和相关模型。 单元格上有一个选择按钮,在我要取消选择的位置上点击。 我必须在单元格中保留一个变量(以保持取消/选定状态) 在cellForRowAtIndexpath中,我正在配置单元以及所选信息。

我的问题:-由于必须在单元格中维护变量,因此我的想法是在单元格中具有存储的属性(var isSelected = false)。我尝试了相同的操作,编译器要求我重写isSelected属性(因为它已在UITableViewCell中声明),当我重写时出现错误“无法使用存储的属性'isSelected'覆盖”

有人可以向我解释为什么引发此错误 注意-我要使用相同的名字isSelected

任何帮助将不胜感激

waltc 回答:无法使用存储的属性覆盖

在子类中,只能用相同的类型覆盖属性

由于isSelected被声明为读/写

var isSelected: Bool { get set }

您必须添加getter和setter来覆盖它

override var isSelected : Bool {
    get { return false }
    set { super.isSelected = newValue }
}

或不执行任何操作的设置器

override var isSelected : Bool {
    get { return false }
    set {}
}
本文链接:https://www.f2er.com/3153645.html

大家都在问