我使用這個變量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