美文网首页
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