我正在使用这个变量
public var tick: Int64 {
get {
return UserDefaults.standard.object(forKey: TICK) as? Int64 ?? 0
}
set(v) {
let cur = UserDefaults.standard.object(forKey: TICK) as? Int64 ?? 0 + v
UserDefaults.standard.set(cur,forKey: TICK)
}
}
但我想知道,这是在内部设置器中调用getter的正确方法吗?我的意思是:
set(v) {
let cur = /*HOW TO CALL GETTER HERE? */ + v
UserDefaults.standard.set(cur,forKey: TICK)
}
如果我用自己而不是/ *如何在这里打电话? * /,它不起作用.
您可以在其setter中调用值(tick)来获取旧值:
public var tick: Int64 {
get {
return UserDefaults.standard.object(forKey: TICK) as? Int64 ?? 0
}
set(v) {
let cur = tick + v
UserDefaults.standard.set(cur,forKey: TICK)
}
}