MVVM+RAC

1,ReactiveCocoa ->RAC

2,导入 pod 'ReactiveCocoa', '~> 5.0.3'

3,把按钮点击事件转换为信号,点击按钮就会发送信号

[[button rac_signalForControlEvents:UIControlEventTouchUpInside] subscribeNext:^(id x) { NSLog(@"按钮被点击"); }];

4,textField文字信号

[[self.phoneTf rac_textSignal] subscribeNext:^(NSString *x) { NSLog(@"文本框文字发生了改变:%@",x); }];

[[self.textField.rac_textSignal filter:^BOOL(NSString *value) {

return value.length >= 3;

}] subscribeNext:^(id x) {

NSLog(@"%@",x);

}];

5,手势信号

[[tapGesture rac_gestureSignal] subscribeNext:^(id x) { NSLog(@"view被触发tap手势"); }];

6, subscribe  如果发送了信号将会进行next, complete, error操作

2.combineLatest需要每个signal至少都有过一次sendNext

3.reduce的作用是根据接收到的值,再返回一个新的值,这里是@(YES)和@(NO),必须是object。

 

 关键字reduce  map  subscribeCompleted   subscribeNext  subscribeerror   RACObserve()  RAC RACSignal

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-02-27 09:39  zfcc  阅读(221)  评论(0)    收藏  举报