RAC flattenMap

2018-01-11  本文已影响0人  NextStepPeng

flattenMap:

RACSubject * subject = [RACSubject subject];

    RACSignal * binSignal = [subject flattenMap:^__kindof RACSignal * _Nullable(id  _Nullable value) {

        //        value 原信號的內容

        value = [NSString stringWithFormat:@"數據處理: %@",value];

        return [RACReturnSignal return:value];

    }];

    [binSignal subscribeNext:^(id  _Nullable x) {

        NSLog(@"%@",x);

    }];

    [subject sendNext:@"123"];

样例2

RACSequence * s1 = [@[@(1), @(2), @(3)] rac_sequence];

    RACSequence * s2 = [@[@(1), @(3), @(9)] rac_sequence];

    RACSequence * s3 = [[@[s1,s2] rac_sequence]

                        flattenMap:^__kindof RACSequence * _Nullable(id  _Nullable value) {

        return [value filter:^BOOL(id  _Nullable value) {

            return [value integerValue] % 3 == 0;

        }];

    }];

    NSLog(@"%@",[s3 array]);//打印3、3、9

上一篇 下一篇

猜你喜欢

热点阅读