RAC集合

2020-08-12  本文已影响0人  ZAREMYDREAM

RAC中有几种常用的集合类

RACTuple

+ (instancetype)tupleWithObjectsFromArray:(NSArray *)array;
+ (instancetype)tupleWithObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
……
    RACTuple *tuple = [RACTuple tupleWithObjects:@"aaa", @"bbb", @123, nil];
    NSString *str = tuple[0];
    NSLog(@"%@", str);

RACSequence

    //定义一个数组
    NSArray *arr = @[@"a", @"b", @"c"];
    //RAC集合
    RACSequence *req = arr.rac_sequence;
    //遍历
    RACSignal *signal = req.signal;
    [signal subscribeNext:^(id  _Nullable x) {
        NSLog(@"%@", x);
    }];
    //简写
    [arr.rac_sequence.signal subscribeNext:^(id  _Nullable x) {
        NSLog(@"%@", x);
    }];

    //字典时,返回的是元组
    NSDictionary *dic = @{@"name":@"abc", @"age":@18};
    [dic.rac_sequence.signal subscribeNext:^(RACTuple *x) {
        //解包RACTuple
        RACTupleUnpack(NSString *key, NSString *value) = x;
        NSLog(@"%@:%@", key, value);
    }];
上一篇 下一篇

猜你喜欢

热点阅读