美文网首页
RAC的zipWith、zip操作

RAC的zipWith、zip操作

作者: 凯司机 | 来源:发表于2021-05-06 11:20 被阅读0次

组合操作——zipWith、zip:

// 组合操作——zipWith、zip:按照信号执行时间顺序依次进行叠加,列出全部的元素。拉链式结构、元组一一对应。
// 信号一方先结束另一方也跟着结束。
// 注意信号A和信号B的执行顺序
RACSignal *signalA = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
  [subscriber sendNext:@1];
  [subscriber sendNext:@2];
  [subscriber sendNext:@4];
//    [subscriber sendError:[NSError new]];
  [subscriber sendCompleted];
  return [RACDisposable disposableWithBlock:^{
    NSLog(@"signalA完成");
  }];
}];

RACSignal *signalB = [RACSignal createSignal:^RACDisposable *(id<RACSubscriber> subscriber) {
  [subscriber sendNext:@11];
  [subscriber sendNext:@22];
  // [subscriber sendError:[NSError new]];
  [subscriber sendNext:@44];
  [subscriber sendCompleted];
  return [RACDisposable disposableWithBlock:^{
    NSLog(@"signalB完成");
  }];
}];

//    RACSignal *signalC = [signalA zipWith:signalB];
//    RACSignal *signalC = [RACSignal zip:@[signalA, signalB]];
RACSignal *signalC = [RACSignal zip:RACTuplePack(signalA, signalB)];
[[signalC subscribeNext:^(id x) {
  NSLog(@"subscribeNext:%@",x);
}] dispose];

2021-04-15 11:03:34.588688+0800 XXXXXX[3460:1036744] signalA完成

2021-04-15 11:03:34.589752+0800 XXXXXX[3460:1036744] subscribeNext:<RACTuple: 0x170009fa0> (

1,

11

)

2021-04-15 11:03:34.589856+0800 XXXXXX[3460:1036744] subscribeNext:<RACTuple: 0x170009fe0> (

2,

22

)

2021-04-15 11:03:34.589902+0800 XXXXXX[3460:1036744] subscribeNext:<RACTuple: 0x17000a010> (

4,

44

)

2021-04-15 11:03:34.589936+0800 XXXXXX[3460:1036744] signalB完成

相关文章

  • RAC的zipWith、zip操作

    组合操作——zipWith、zip: 2021-04-15 11:03:34.588688+0800 XXXXXX...

  • RAC zipWith

    输出2018-06-05 18:32:03.763784+0800 racTest[17739:7491367] ...

  • Rac集合操作与绑定

    第一大类: merge,for/mergeconcat,for/concat zip,join/zipWith ...

  • RAC中的join: block:

    rac中有个私有的方法: 虽然是私有的方法,但对理解racstream比较重要,zipwith:最后都会走到joi...

  • RAC组合zip

    zipWith:两个信号压缩!只有当两个信号同事发出信号内容,并且将内容合并成一个元组给你 RACSubject ...

  • Scala的Tuple拉链操作、Java Map与Scala M

    Tuple拉链操作指的就是zip操作 zip操作:指的就是数组的zip操作。zip方法是Array类的方法,就是将...

  • RAC中的reduceEach

    前面可以看到RAC中的zip和combineLatest最后都会走到reduceEach,这个RACStream中...

  • RACSignal-concat与zipWith过程解析

    bind、concat、zipWith 都属于 RACSignal 基本操作方法,前一篇文章已经介绍过 bind,...

  • RxJava(五)zipWith操作符

    本篇文章来给大家简单介绍一下zipWith的用法,这里先将用到的方法贴出: 记得在拥抱RxJava(一)基本用法中...

  • golang中archive/zip包

    一、ZIP的操作压缩、解压 二、GO中压缩操作1、创建zip文件2、向这个zip文件里写入要压缩的文件的头部信息和...

网友评论

      本文标题:RAC的zipWith、zip操作

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