这几天,遇到一个奇葩问题,当我手动设置UITextField的text时,rac_textSignal不起作用,代码如下
##绑定ViewModel和View
RAC(self.viewModel, expressNumber) = self.expressNumberTextField.rac_textSignal;
##手动设置了UITextField的text
self.expressNumberTextField.text = @"10937374783";
##结果self.viewModel.expressNumber没有变化,还是原来值
后来看到老外在github上的方案,代码如下
@weakify(self);
[[RACSignal merge:@[self.expressNumberTextField.rac_textSignal, RACObserve(self.expressNumberTextField, text)]] subscribeNext:^(NSString* text){
@strongify(self);
self.viewModel.expressNumber = text;
}];