我正在使用这个变量
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)
}
}
Run Code Online (Sandbox Code Playgroud)
但我想知道,这是在内部设置器中调用getter的正确方法吗?我的意思是:
set(v) {
let cur = /*HOW TO CALL GETTER HERE? */ + v
UserDefaults.standard.set(cur, forKey: TICK)
}
Run Code Online (Sandbox Code Playgroud)
如果我使用self而不是/*HOW TO CALL GETTER HERE? */,它不起作用.
Fel*_*SFD 10
您只需tick在其setter中调用value()即可获取旧值:
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)
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6570 次 |
| 最近记录: |