在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
我们有更优雅的方式吗?感谢。
答案 0 :(得分:0)
我认为扩展是优雅的:
extension Int {
mutating func setValue(value: Int,update: Bool) {
self = value
if update {
}
}
}