【发布时间】:2018-06-23 19:08:39
【问题描述】:
我有以下Forecast 类:
class Forecast {
let city: City
var currentTemperature: String {
didSet {
print("cur tepm was set to \(currentTemperature)")
}
}
init(city: City) {
self.city = city
self.currentTemperature = "0"
}
func loadForecast() {
self.currentTemperature = "+10"
}
}
我正在尝试观察ForecastViewModel 中forecast 对象的currentTemperature 属性
class ForecastViewModel {
fileprivate let variableForecast: Variable<Forecast>
var navigationTitle: Observable<String> {
return Observable.just("No name")
}
init(forecast aForecast: Forecast) {
self.variableForecast = Variable(aForecast)
self.variableForecast.asObservable().subscribe(onNext: { (s) in
print(s.currentTemperature)
})
variableForecast.value.currentTemperature = "-15"
variableForecast.value.loadForecast()
}
}
然而,subscribe on next 中的代码只执行一次并打印 0。didSet 块每次都被调用。
我应该如何观察这个类的属性?
【问题讨论】: