2017-06-20 29 views
0

为什么这不起作用:ReactiveCocoa:为什么rac_textSignal不起作用

[self.phoneTextField.rac_textSignal subscribeNext:^(NSString *text) { 
    self.viewModel.textFieldText = text; 
}]; 

虽然这工作得很好,即使清除按钮点击:

RAC(self.viewModel, textFieldText) = RACObserve(self.phoneTextField, text); 

回答

0

rac_text仅当UIControlEventAllEditingEvents触发时才会触发信号,并且不会发生清除。下面是这两种情况下的解决方法:

[[RACSignal 
    merge:@[self. phoneTextField.rac_textSignal, RACObserve(self.phoneTextField, text)]] 
    subscribeNext:^(NSString* text) { 
     // do something here 
    }]; 

BR,

+0

第二个选择似乎是更短,它也可以,文字的变化时。 – wzbozon

+0

这是真的:) –