前端之家收集整理的这篇文章主要介绍了
ReactiveCocoa之RAC过滤(八),
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
- -(void)skip{
- RACSubject*subject=[RACSubjectsubject];
- [[subjectskip:2]subscribeNext:^(idx){
- NSLog(@"%@",x);
- }];
- [subjectsendNext:@1];
- [subject@2];
- @3];
- }
-
-
- -(void)distinctUntilChanged{
- subject];
- [[subjectdistinctUntilChanged]idx){
- NSLog(@"%@",x);
- }];
- //发送信号
- @2];
- //take:可以屏蔽一些值,去前面几个值---这里take为2则只拿到前两个值
- void)take{
- take:2]//takeLast:和take的用法一样,不过他取的是最后的几个值,如下,则取的是最后两个值
-
- void)takeLast{
- takeLast:2]//发送信号
- @1];
- @2];
- @3];
- sendCompleted];
- //takeUntil:---给takeUntil传的是哪个信号,那么当这个信号发送信号或sendCompleted,就不能再接受源信号的内容了。
- void)takeUntil{
- RACSubject*subject2=[RACSubjecttakeUntil:subject2] [subject2@3];
- //[subject2sendCompleted];//或2
- @4];
- }
-
- //ignore:忽略掉一些值
- void)ignore{
- //ignore:忽略一些值
- //ignoreValues:表示忽略所有的值
- //1.创建信号
- //2.忽略一些值
- RACSignal*ignoreSignal=[subjectignore://3.订阅信号
- [ignoreSignal//4.发送数据
- //一般和文本框一起用,添加过滤条件
- void)fliter{
- //只有当文本框的内容长度大于5,才获取文本框里的内容
- [[self.textField.rac_textSignalfilter:^BOOL(idvalue){
- //value源信号的内容
- return[valuelength]>5;
- //返回值就是过滤条件。只有满足这个条件才能获取到内容
- }] }
原文链接:https://www.f2er.com/react/305643.html