enumerateObjects遍历方法详解
来源:互联网 发布:广州软件外包 编辑:程序博客网 时间:2024/05/18 22:15
在之前的文章中转载过iOS中集合遍历方法的比较和技巧, 有兴趣的可以了解一下. 本文主要是介绍enumerateObjects遍历方法.
ios中常用的遍历运算方法
遍历的目的是获取集合中的某个对象或执行某个操作,所以能满足这个条件的方法都可以作为备选:
- 经典for循环
- for in (NSFastEnumeration),若不熟悉可以参考《nshipster介绍NSFastEnumeration的文章》
- makeObjectsPerformSelector
- kvc集合运算符
- enumerateObjectsUsingBlock
- enumerateObjectsWithOptions(NSEnumerationConcurrent)
- dispatch_apply
enumerateObjects遍历方法
在enumerateObjects遍历有3个方法, 这个遍历方式的优点:
1.遍历顺序有正序/倒序/并发混序三种, 可根据枚举值控制比 for循环方便许多.
2.遍历中自带 *stop参数, 跳出方便.
3.可以在遍历的 block中增删数据, 比 forin遍历方便许多
4.在庞大的数据量下, 此方式是比 for循环, forin 等方式,要快许多的方式.在其执行过程中可以利用到多核cpu的优势
正序遍历方法
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
打印结果:
- 1
- 2
- 3
- 4
- 5
倒序/并发混序遍历方法
option参数:
//NSEnumerationReverse 倒序执行
//NSEnumerationConcurrent 并行发生, 并发混序
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
打印结果:
- 1
- 2
- 3
- 4
- 5
根据indexSet进行倒序/并发混序的遍历方法
(NSIndexSet *)s参数: 需要遍历的下标 set
- 1
- 2
- 3
- 4
- 5
- 6
- 7
打印结果:
- 1
- 2
阅读全文
0 0
- enumerateObjects遍历方法详解
- 66.enumerateObjects遍历方法详解
- vc遍历进程四种方法 详解
- 遍历map的正确方法 详解
- Objective-c:集合类型遍历方法详解
- Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解
- php遍历目录与文件夹的多种方法详解
- 二叉树创建,遍历,求深度详解(递归方法)
- java list详解及arrayList的四种遍历方法
- php中遍历二维数组的几种方法详解
- php遍历目录与文件夹的多种方法详解
- 遍历方法
- 遍历方法
- 递归遍历详解
- ConcurrentHashMap遍历详解
- 目录遍历攻击详解
- java遍历文件夹详解
- List集合遍历详解
- 2017/11/3
- 多层PCB层叠结构
- 教你如何在SDK开发使用美团Robust进行热更新
- 真实内幕!有信用 有钱用 的广东问果科技 幕后策划
- 为什么选择分布式垂直架构
- enumerateObjects遍历方法详解
- 洛谷——Day2
- 20171103 SSH和SSM对比总结
- leetcode 152. Maximum Product Subarray
- FineReport生成带查询、分页功能的报表
- 人工智障学习笔记——机器学习(3)决策树
- linux 命令终端提示符显示-bash-4.2#解决方法
- Ubuntu,源码安装Node.js
- nginx定制header返回信息模块ngx_headers_more