///KVO
[[self.header rac_valuesForKeyPath:@"" observer:self]subscribeNext:^(id _Nullable x) {
} completed:^{
}];
///通知中心
[[[NSNotificationCenter defaultCenter]rac_addObserverForName:@"" object:self]subscribeNext:^(NSNotification * _Nullable x) {
} completed:^{
}];
///按钮事件
[[self.btn rac_signalForControlEvents:UIControlEventTouchUpInside]subscribeNext:^(__kindof UIControl * _Nullable x) {
} completed:^{
}] ;
///输入监听事件
[self.tf.rac_textSignal subscribeNext:^(NSString * _Nullable x) {
} completed:^{
}];
///过滤输入
[[self.tf.rac_textSignal filter:^BOOL(id value) {//这里只用返回Yes,才会走下面的方法subscribeNext,返回NO是不会走下面的
// value:源信号的内容
NSString*text = (NSString*)value;
if(text.length>11) {
return YES;
}else{
return NO;
}
//返回值就是过滤的条件,只有满足这个条件才会能够获取到内容
}]
// 订阅信号,满足上面的条件,即可执行这里面的方法
subscribeNext:^(id x) {
NSLog(@"%@",x);
self.tf.backgroundColor= [UIColor greenColor];
}];