1,每隔1秒发信号
RACSignal *repeatSignal = [[RACSignal interval:1 onScheduler:[RACScheduler mainThreadScheduler]] repeat];
2.观察self.time属性,属性值改变时并发出信号。 RACSignal *timeSignal = RACObserve(self, time);
3,信号绑定
a = b + c 如果 b 或者 c 的数值发生变化,a 的数值会同时发生变化;
//电话号码 RAC(self.viewModel,mobileNum) = self.mobileNumTF.rac_textSignal; //验证码 RAC(self.viewModel,smsCode) = self.smsCodeTF.rac_textSignal; RAC(self.label,text) = combineSignal;
4,检测按钮点击事件
btn.rac_command = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) { [Person new]; return [RACSignal empty]; }];
5,之前见过把string和string互相绑定的,没见过把布尔值和NSNumber相绑定的
RACSignal *passworkSignal = self.mobileNumTF.rac_textSignal; RACSignal *confirmSignal = self.smsCodeTF.rac_textSignal; RAC(self.btn, enabled) = [RACSignal combineLatest:@[passworkSignal,confirmSignal] reduce:^(NSString *password, NSString *confirm){ return @(password.length >0 && confirm.length >0); }];
