rac 数组之遍历

rac的数组遍历其实很简单。可是有个点须要注意。数组

如下先举个例子说明遍历的用法spa

 NSArray *temArr = @[@"111",@"222"];
    [temArr.rac_sequence.signal subscribeNext:^(RACTuple * _Nullable x) {
        NSLog(@"%@",[NSThread currentThread]);
        NSLog(@"---数组遍历----%@",x);
    }];

如下是日志:线程

<NSThread: 0x281cb4340>{number = 4, name = (null)}日志

2019-11-16 11:29:26.322717+0800 NewProjectToTest[4289:1922998] ---数组遍历----111code

2019-11-16 11:29:26.323227+0800 NewProjectToTest[4289:1922998] <NSThread: 0x281cb4340>{number = 4, name = (null)}blog

2019-11-16 11:29:26.323333+0800 NewProjectToTest[4289:1922998] ---数组遍历----222class

 

很明显能看到代码不是在主线程中执行的。这样会致使咱们在实际使用过程当中须要考虑代码的执行问题。遍历

因此咱们在遍历的时候能够经过deliverOn把这个任务添加到主线程中,代码以下di

[[temArr.rac_sequence.signal deliverOn:[RACScheduler mainThreadScheduler]] subscribeNext:^(id  _Nullable x) {
        NSLog(@"=====%@",[NSThread currentThread]);
        NSLog(@"--3333-数组遍历----%@",x);
    }];

显示日志以下:co

=====<NSThread: 0x281cde040>{number = 1, name = main}

2019-11-16 11:29:26.331387+0800 NewProjectToTest[4289:1922792] --3333-数组遍历----111

2019-11-16 11:29:26.331451+0800 NewProjectToTest[4289:1922792] =====<NSThread: 0x281cde040>{number = 1, name = main}

2019-11-16 11:29:26.331489+0800 NewProjectToTest[4289:1922792] --3333-数组遍历----222

 

差很少就这样吧。。很简单的使用。。

相关文章
相关标签/搜索