在swift中赋值时如何避免set方法?

时间:2016-01-29 06:56:57

标签: ios objective-c swift

在objective-c中,我们可以使用self.foo = xxx来调用-setFoo:方法,并使用_foo = xxx来避免它。

但是如何在使用Swift时避免设置?

我是这样做的。

// use foo = xxx to call set
public var foo: Int {
    set {
        fooInside = newValue
        // ...
        bar()
    }
    get { return fooInside }
}
// use fooInside = xxx to avoid set
private var fooInside = 0

我们有更优雅的方式吗?感谢。

1 个答案:

答案 0 :(得分:0)

我认为扩展是优雅的:

extension Int {
    mutating func setValue(value: Int,update: Bool) {
        self = value
        if update {

        }
    }
}