gpt4 book ai didi

ios - 计算属性生成 "Overriding declaration requires an ' 重写“关键字”错误

转载 作者:可可西里 更新时间:2023-11-01 00:36:54 27 4
gpt4 key购买 nike

代码如下。为什么会出现“Overriding declaration requires an 'override' keyword”错误?这不是为属性提供 getter 和 setter 的“Swift”方式吗?

class TestClass : UICollectionViewCell {
var _selected = false

var selected : Bool {
get {
return _selected
}

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

最佳答案

首先,不要在 Swift 中使用 _selected。它是 Objective-C 风格。其次,在 var selected : Bool 之前使用 override 关键字,因为它的 super 已经声明了一个同名的属性。

更新:这是一个存储值,你不需要做任何事情来获取它的值,因为 swift 会自动存储它。

   override var selected : Bool {
get {
return super.selected
}
set {
selectedView.hidden = !newValue
}
}

或者使用 didSet:

   override var selected : Bool {
didSet {
selectedView.hidden = !selected
}
}

使用存储值来保存持久值。使用计算(它有一个 getter)来获取实时值。

关于ios - 计算属性生成 "Overriding declaration requires an ' 重写“关键字”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35533321/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com