RACChannelTo(self, name) = RACChannelTo(self.model, name);
这种写法是个双向绑定,也就是 self.name
改变,self.model.name
会改变;反之 self.model.name
改变的话,self.name
也会改变。
RACChannelTo(self, filmType, @(ASHRecipeFilmTypeColourNegative))
里面第三个参数是指,如果值的变化中出现 nil,那么就会使用这个值来代替,相当于一个默认值。
这是为什么 MVVM 通常会依赖 ReactiveCocoa
的原因之二,即 ViewModel 和 Model 的改变通常是需要双向同步的。