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