RAC

RAC信号

2017-11-09  本文已影响1人  brave723

1、 信号量的合并CombineLatest

信号量的合并说白了就是把两个水管中的水合成一个水管中的水。但这个合并有个限制,当两个水管中都有水的时候才合并。如果一个水管中有水,另一个水管中没有水,那么有水的水管会等到无水的水管中来水了,在与这个水管中的水按规则进行合并。下面这个实例就是把两个信号量进行合并

- (void) combiningLatest{
 RACSubject *letters = [RACSubject subject];
 RACSubject *numbers = [RACSubject subject];

[[RACSignal
   combineLatest:@[letters,numbers]
   reduce:^(NSString*letter,NSString *number){
         return [letter stringByAppendingString:number];
        }]
  subscribeNext:^(NSString*x) {
          NSLog(@"%@", x);
        }];

 // 输出结果B1 C1 C2
[letters sendNext:@"A"];
[letters sendNext:@"B"];
[numbers sendNext:@"1"];
[letters sendNext:@"C"];
[numbers sendNext:@"2"];
}
上一篇下一篇

猜你喜欢

热点阅读