reactivecocoa基础讲解
栏目: Objective-C · 发布时间: 6年前
内容简介:获取信号并打印信号的内容filter方法返回值是racsignal,它的参数是一个block。 这个block的返回值是布尔类型,参数是信号携带的内容。根据block的返回值,决定是否创建新的信号,以达到过滤信号的目的map这个方法的返回值是racsignal,它的参数是一个block。 这个block的返回值是一个对象,它的参数携带信号内容。block的返回值就是转化后新信号的内容
rac能够更好的完成响应式程序的编程,它将所有的事件都封装成信号,信号在管道里传递,通过对信号的接收、过滤、修改、合并等操作,完成对各种事件的响应处理
基础用法
获取信号并打印信号的内容
[self.userName.rac_textSignal subscribeNext:^(NSString * _Nullable x) { NSLog(@"%@",x); }]; 复制代码
过滤信号
filter方法返回值是racsignal,它的参数是一个block。 这个block的返回值是布尔类型,参数是信号携带的内容。根据block的返回值,决定是否创建新的信号,以达到过滤信号的目的
[[self.userName.rac_textSignal filter:^BOOL(NSString * _Nullable value) { NSString * string = value; return string.length > 3; }]subscribeNext:^(NSString * _Nullable x) { NSLog(@"%@",x); }]; 复制代码
转化信号
map这个方法的返回值是racsignal,它的参数是一个block。 这个block的返回值是一个对象,它的参数携带信号内容。block的返回值就是转化后新信号的内容
[[[self.userName.rac_textSignal map:^id _Nullable(NSString * _Nullable value) { return [NSNumber numberWithInteger:value.length]; }]filter:^BOOL(id _Nullable value) { return [value integerValue] > 3; }]subscribeNext:^(id _Nullable x) { NSLog(@"%@",x); }]; 复制代码
合并信号
(combineLatest:reduce:)方法的返回值是信号,参数1是一个数组(使用时传递需要合并的信号),参数2是一个block。 block的返回值是一个对象,参数是两个对象(使用时传递参数1中信号对应的内容)。block的返回值就是转化后新信号的内容。
RACSignal * userNameValidSignal = [self.userName.rac_textSignal map:^id _Nullable(NSString * _Nullable value) { return @(value.length > 3); }]; RACSignal * passWordValidSignal = [self.passWord.rac_textSignal map:^id _Nullable(NSString * _Nullable value) { return @(value.length > 3); }]; [RACSignal combineLatest:@[userNameValidSignal , passWordValidSignal] reduce:^id (NSNumber * userName , NSNumber * passWord){ return @([userName boolValue] && [passWord boolValue]); }]; 复制代码
以上所述就是小编给大家介绍的《reactivecocoa基础讲解》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- java基础(二)--main方法讲解
- JVM基础面试题及原理讲解
- 用最基础的方法讲解 Redux 实现原理
- 扫盲:Hadoop分布式文件系统(HDFS)基础概念讲解!
- C++动态内存管理好难怎么办?零基础图文讲解,小白轻松理解原理
- 6、web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Writing Windows VxDs and Device Drivers, Second Edition
Karen Hazzah / CMP / 1996-01-12 / USD 54.95
Software developer and author Karen Hazzah expands her original treatise on device drivers in the second edition of "Writing Windows VxDs and Device Drivers." The book and companion disk include the a......一起来看看 《Writing Windows VxDs and Device Drivers, Second Edition》 这本书的介绍吧!