rac 数组之遍历
rac的数组遍历其实很简单。但是有个点需要注意。
以下先举个例子说明遍历的用法
NSArray *temArr = @[@"",@""];
[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
差不多就这样吧。。很简单的使用。。
rac 数组之遍历的更多相关文章
- for+next()实现数组的遍历及while list each 的使用
//要求使用for循环语句来完成该数组的遍历//输出每一项的键名和对应值: $a = array( 'a' => 34, 5 => 51, ...
- jQuery数组的遍历 function的加载
加载函数时会被覆盖在jQuery中给提供的方案有三种形式 js中只能绑定一个方法 如果多次绑定后者会覆盖前者 最常用的一种 在jQuery中数组的遍历 使用map遍历数组 会返回一个新的数组 如果 ...
- 手写js代码(一)javascript数组循环遍历之forEach
注:原文地址http://blog.csdn.net/oscar999/article/details/8671546 我这里是仿照学习! 1.js的数组循环遍历 ①数组的遍历首先想到的是for()循 ...
- 初识Javascript.03 -- switch、自增、while循环、for、break、continue、数组、遍历数组、合并数组concat
除了注意大小写,别的木啥了 Switch语句 Switch(变量){ case 1: 如果变量和1的值相同,执行该处代码 break; case 2: 如果变量和2的值相同,执行该处代码 break; ...
- PHP二维关联数组的遍历方式
采用foreach循环对二维索引数组进行遍历,相对来讲速度更快,效率更高,foreach循环是PHP中专门用来循环数组的.实例也相对简单,多加练习,想清楚程序运行逻辑即可. <?php $arr ...
- javascript:Json 和数组的遍历
首先看代码示例var json={a:1,b:2,c:3}; //json var array={1,2,3}; //数组 alert(json.a); //弹出1 或alert(json['a']) ...
- java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历
一,数组的定义 Java 中定义数组的语法有两种: 1. type arrayName[]; 2. type[] arrayName;type 为Java中的任意数据类型,包括基本类型和组合类型,ar ...
- javascript(基础)_对数组的遍历方法总结(find, findIndex, forEach,)
一.前言 ...
- 数组的三种声明方式总结、多维数组的遍历、Arrays类的常用方法总结
1. 数组的三种声明方式 public class WhatEver { public static void main(String[] args) { //第一种 例: String[] test ...
随机推荐
- Hadoop学习笔记之二 文件操作
HDFS分布式文件系统:优点:支持超大文件存储.流式访问.一次写入多次读取.缺点:不适应大量小文件.不适应低时延的数据访问.不适应多用户访问任意修改文件. 1.hadoop用于大数据处理,在数据量较小 ...
- js 获取xxxx-xx-xx时间格式
function getdate() { var now = new Date(), y = now.getFullYear(), m = now.getMonth() + 1, d = now.ge ...
- mysql 全表扫描场景
全表扫描是数据库搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止.通常在数据库中,对无索引的表进行查询一般称为全表扫描:然而有时候我们即便添加了索引,但当我们的SQL语句写的不合理的时候也 ...
- centOS服务器-firewall防火墙开放端口
前言 日常开发中,我们常常会因为服务器各种端口未开放出现各种问题,下面我们就来简单了解下服务器上的端口开放!!! 作为一个后台开发,日常接触最多的除了代码就是服务器了: 产品:谁谁, 线上有个功能报错 ...
- poj2253(floyd变形)
题目链接:https://vjudge.net/problem/POJ-2253 题意:给出n个点的坐标,求点1到点2的forg distance,其定义为点1到点2的所有路径中最长边的最小值. 思路 ...
- Git Bash输错账号密码如何重新输入
很多时候我们容易在Git Bash操作的时候,不慎输入错误的用户名或密码,此时一直提示: remote: Incorrect username or password ( access token ) ...
- java源码--ArrayList
1.1.ArrayList概述 1)ArrayList是可以动态增长和缩减的索引序列,它是基于数组实现的List类. 2)该类封装了一个动态再分配的Object[]数组,每一个类对象都有一个capac ...
- PHP学习之迭代生成器
生成器的核心是一个yield关键字,一个生成器函数看起来像一个普通的函数,不同的是.普通函数返回一个值,而一个生成器可以yield生成许多它所需要的值.生成器函数被调用时,返回的是一个可以被遍历的对象 ...
- 关于FSM的C语言实现与详解
最近一个项目有一个需求,考量了一下决定使用状态机,实现完需求以后,不得不感慨,状态机在处理逻辑上面实现起来很有优势,也便于管理. 在这里分享一下我所修改的状态机实现.改动的地方不多,参考了<C语 ...
- JS中json数组多字段排序方法(解决兼容性问题)(转)
前端对一个json数组进行排序,用户需要动态的根据自己的选择来对json数据进行排序. 由于后台表设计问题所以不能用sql进行排序,这里用到了js的sort方法. 如果对单字段排序,那么很简单,一个s ...