Getter在Swift 3中的setter

前端之家收集整理的这篇文章主要介绍了Getter在Swift 3中的setter前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用这个变量
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)
    }
}

猜你在找的Swift相关文章