美文网首页
RAC的scan操作

RAC的scan操作

作者: 凯司机 | 来源:发表于2021-04-24 11:03 被阅读0次

数量操作——scan:以及各种变种的操作

// 数量操作——scan:时时汇总显示进度,进行计算。
RACSignal *signalA = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
  [subscriber sendNext:@1];
  [subscriber sendNext:@2];
  [subscriber sendNext:@4];
  [subscriber sendCompleted];
  return [RACDisposable disposableWithBlock:^{
    NSLog(@"完成");
  }];
}];

RACSignal *signalB = [signalA scan:@0 reduce:^id(NSNumber *running, NSNumber *next) {
  return @(running.integerValue + next.integerValue);
}];

[[signalB subscribeNext:^(id x) {
  NSLog(@"subscribeNext:%@",x);
}] dispose];
// 结果:1、3、7
image.png

相关文章

网友评论

      本文标题:RAC的scan操作

      本文链接:https://www.haomeiwen.com/subject/ulikrltx.html