我使用这个变量getter中二传手在斯威夫特3
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)
}
如果我使用self
而不是/*HOW TO CALL GETTER HERE? */
,这是行不通的。
所以,没办法打电话消气? – Vyacheslav
没有什么能阻止你在setter定义中引用'tick'。 @Vyacheslav –
我想打电话给getter。因为它可能包含更复杂的逻辑 – Vyacheslav