ReactiveCocoa简介四,聚合信号
来源:互联网 发布:甲状腺癌消融 知乎 编辑:程序博客网 时间:2024/06/14 16:15
登录按钮只有当用户名和密码输入框的输入都有效时才工作。
combineLatest:reduce:方法把validUsernameSignal和validPasswordSignal产生的最新的值聚合在一起,并生成一个新的信号。每次这两个源信号的任何一个产生新值时,reduce block都会执行,block的返回值会发给下一个信号。
RACSignal *signUpActiveSignal = [RACSignal combineLatest:@[validUsernameSignal, validPasswordSignal] reduce:^id(NSNumber*usernameValid, NSNumber *passwordValid){ return @([usernameValid boolValue]&&[passwordValid boolValue]); }];
已经有了合适的信号,这信号和按钮的enabled属性绑定。
[signUpActiveSignal subscribeNext:^(NSNumber*signupActive){ self.signInButton.enabled =[signupActive boolValue]; }];
分割——信号可以有很多subscriber,也就是作为很多后续步骤的源。注意上图中那个用来表示用户名和密码有效性的布尔信号,它被分割成多个,用于不同的地方。
聚合——多个信号可以聚合成一个新的信号,在上面的例子中,两个布尔信号聚合成了一个。实际上你可以聚合并产生任何类型的信号。
0 0
- ReactiveCocoa简介四,聚合信号
- ReactiveCocoa简介五:用信号封装异步API
- ReactiveCocoa简介
- ReactiveCocoa简介
- ReactiveCocoa简介四,Button的点击事件的实现
- ReactiveCocoa指南一:信号
- ReactiveCocoa指南一:信号
- ReactiveCocoa信号使用方法
- ReactiveCocoa信号使用方法
- ReactiveCocoa框架菜鸟入门(四)——信号(Signal)详解
- ReactiveCocoa框架菜鸟入门(四)——信号(Signal)详解
- ReactiveCocoa框架菜鸟入门(四)——信号(Signal)详解
- ReactiveCocoa框架菜鸟入门(四)——信号(Signal)详解
- ReactiveCocoa学习之创建信号
- ReactiveCocoa信号高阶操作
- ReactiveCocoa之简介(一)
- ReactiveCocoa之简介(一)
- ReactiveCocoa之RACSubject用法(四)
- python中文件变化监控-watchdog
- linux上安装pip笔记
- example of Makefile to compile a c source file
- Codeforces 630A Again Twenty Five!
- HDU 3436 Queue-jumpers
- ReactiveCocoa简介四,聚合信号
- Schemaless架构(二):Uber基于MySQL的Trip数据库
- Github 命令学习
- 【SDOI2008】【BZOJ2186】沙拉公主的困惑
- Linux Is Not Matrix——oracle监听设置
- Codeforces 630B Moore's Law
- 浅谈Apple Pay开发
- 多表批量update
- Codeforces 630C Lucky Numbers