首先看一下打算介绍的知识点:
知识点大纲
然后, 就开始One by One了:
(一) RAC的集合:
在RAC中, 也有一个元祖类, 叫做
RACTuple
, 它完全可以当做OC的数组来用, 比如:
- (void)demo1 { /* 元祖 */ RACTuple *tuple = [RACTuple tupleWithObjects:@"firstObject",@"secondObject",@1, nil]; NSString *string = tuple[1]; NSLog(@"%@", string); }
你同样可以使用以下方法来创建一个元祖:
/// Creates a new tuple out of the array. Does not convert nulls to nils.+ (instancetype)tupleWithObjectsFromArray:(NSArray *)array;/// Creates a new tuple out of the array. If `convert` is YES, it also converts/// every NSNull to RACTupleNil.+ (instancetype)tupleWithObjectsFromArray:(NSArray *)array convertNullsToNils:(BOOL)convert;/// Creates a new tuple with the given objects. Use RACTupleNil to represent/// nils.+ (instancetype)tupleWithObjects:(id)object, ... NS_REQUIRES_NIL_TERMINATION;
在这里我还是要推荐下我自己建的iOS开发学习群:680565220,群里都是学ios开发的,如果你正在学习ios ,小编欢迎你加入,今天分享的这个案例已经上传到群文件,大家都是软件开发党,不定期分享干货(只有iOS软件开发相关的),包括我自己整理的一份2018最新的iOS进阶资料和高级开发教程
元祖完全可以当做数组来使用, 你也可以通过下标来取出元祖中的数据.
在RAC中, 还有一个非常重要的集合类, 那就是
RACSequence
, 且看:
- (void)demo2 { NSArray *array = @[@"jack", @"rose", @"james"]; [array.rac_sequence.signal subscribeNext:^(id _Nullable x) { NSLog(@"%@", [NSThread currentThread]); NSLog(@"%@", x); }]; }
遍历一个数组, 打印的结果是: