创建信号量RACSignal

本文介绍了如何使用ReactiveCocoa实现iOS应用中的响应式编程,包括定时发送信号、观察属性变化、信号绑定、按钮点击事件检测及条件绑定等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);
    }];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值