我创建了一个自定义类,我想添加关联的getter和setter。我已经阅读了来自Apple的官方documentation,并注意到在设置getter和setter时,实际上你创建了一个单独的变量,这看起来真的很混乱。例如,在上面链接的文档中,getter和setter应用于一个名为perimeter的新变量,以从另一个名为sidelength的变量中获取值。以下是我的代码:
答案 0 :(得分:0)
像你一样实现它们的getter和setter只用于Swift中的计算变量。带有getter和setter的变量实际上并不存储任何内容,但在为其值赋值或使用其他变量时会执行某些操作。在适当使用时,用法更像是这样。
var _key: String?
var key: String? {
get {
return _key
}
set {
_key = newValue
}
}
但是,您很少会在相同的数据类型上使用它。我经常使用它们与CoreData进行通信,并将日期设置为字符串或返回日期。有时我可能会使用它来处理可选中的变更为非可选项。
为了在Swift中使用变量,不需要getter和setter。如果你已经习惯了它们的语言,我可以理解这里的混乱,但忘记了相关性,重新开始思考它。我确信在很短的时间之后,你会喜欢Swift使用其数据类型的方式!
编辑:
为了做你想做的事,你需要的只是:
class PollCell: UICollectionViewCell {
var key: String?
}
现在,您可以将所需的任何值分配到cell.key
,并从cell.key
中检索所需的任何值。