• rac 数组之遍历


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

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

     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] ---数组遍历----111

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

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

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

    所以我们在遍历的时候可以通过deliverOn把这个任务添加到主线程中,代码如下

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

    显示日志如下:

    =====<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

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

  • 相关阅读:
    React 进修之路(1)
    requireJS的配置心得
    DOM的内部插入和外部插入
    h5移动端设备像素比dpr介绍
    原生js--事件类型
    React 进修之路(3)
    javaScript
    html&css
    MyBatis
    Maven基础
  • 原文地址:https://www.cnblogs.com/110-913-1025/p/11871235.html
Copyright © 2020-2023  润新知