日常开发中,我们经常都要去观察一个对象属性的改变,那么我们怎么去监听它比较好呢?
我们的选择还是蛮多的,不过这里我们仅讨论 RxSwift
世界中的方案。
rx_observe
我们首先就会发现 rx_observe
这个方法,然后写出类似下面的代码:
viewModel
.rx_observe(Int.self, "intVar")
.subscribeNext { [weak self] (value) in
}
.addDisposableTo(disposeBag)
我是很不喜欢这个方案的,因为它严重依赖属性名字的字符串,这是很不安全的做法,比较容易写错,变量更名的时候也很头疼。如果不是监听我们不能改变的代码,建议不要用这个方案。
PublishSubject
如果您也用过 ReactiveCocoa
,桥接过非 RAC
世界的东西到 RAC
世界,那么您一定知道 Su