【发布时间】:2016-08-02 00:23:37
【问题描述】:
在 Swift 中是否可以在计算属性上使用 KVO?
var width = 0
var height = 0
private var area : Double {
get {
return with * height
}
}
self.addOberser(self, forKeyPath: "area", ......
客户端代码会修改 with 或 height 触发器 observeValueForKeyPath 吗?
在进行市长级重构之前进行检查。如果有人手头有答案,KVO 的语法就很烦人,即使是操场也不值得。 (我假设答案是否定的)
【问题讨论】:
-
KVO 是关于 setter 的,你的 setter @dhomes 在哪里?
-
看看
RxSwift。 -
@Basheer_CAD 这就是重点!我指的是可以观察到只读计算属性吗?设置宽度或高度会触发新的面积计算吗? (假设没有,但也许是一些花哨的编译器???)
-
@dfri,很有趣!非常感谢!
-
@dhomes 看看 Rob 的回答应该会有帮助
标签: ios swift key-value-observing foundation computed-properties