RAC take指定信号

RACSubject *subject = [RACSubject subject];


    //take指定拿前面的哪几条数据!(从前往后)

    // takeLast:指定拿前面的哪几条数据 !!(从后往前) [subject sendCompleted];

//    [[subject take:2] subscribeNext:^(id  _Nullable x) {

//        NSLog(@"%@",x); // 这是 之后打印 1 和 2

//    }];

    [[subject takeLast:1] subscribeNext:^(id  _Nullable x) {

        NSLog(@"%@",x);

    }];


    [subject sendNext:@"1"];

    [subject sendNext:@"2"];

    [subject sendNext:@"3"];

    [subject sendCompleted];


takeUntil

RACSubject *subject = [RACSubject subject];


    //标记专用信号

    RACSubject *signal = [RACSubject subject];


    //take指定拿前面的哪几条数据!(从前往后)

    // takeLast:指定拿前面的哪几条数据 !!(从后往前) [subject sendCompleted];

//    [[subject take:2] subscribeNext:^(id  _Nullable x) {

//        NSLog(@"%@",x); // 这是 之后打印 1 和 2

//    }];

//    [[subject takeLast:1] subscribeNext:^(id  _Nullable x) {

//        NSLog(@"%@",x);

//    }];


    //takeUntil :直到标记的信号发送数据的时候结束;

    [[subject takeUntil:signal] subscribeNext:^(id  _Nullable x) {

        NSLog(@"%@",x);

    }];


    [subject sendNext:@"1"];

    [signal sendNext:@"..."];//[signal sendCompleted];


    [subject sendNext:@"2"];

    [subject sendNext:@"3"];

    [subject sendCompleted];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容