码迷,mamicode.com
首页 > 编程语言 > 详细

for in、for和EnumerateObjectsUsingBlock遍历的区别

时间:2018-01-29 16:03:32      阅读:681      评论:0      收藏:0      [点我收藏+]

标签:区别   index   集合   pos   code   objects   元素   options   block   

1.对于集合中对象数很多的情况下,for in 的遍历速度非常之快,但小规模的遍历并不明显(还没普通for循环快)

 

2. 如果在for in 循环里,对这个数组进行了修改的话,无论是增,删,修改数组元素位置,都会扔一个异常出来,枚举的过程中数组发生了突变(<__NSArrayM: 0xa4fc000> was mutated while being enumerated.),但是枚举器可以察觉.

 

3.Value查询index的时候, 面对大量的数组推荐使用 enumerateObjectsWithOptions的并行方法.

 

4.遍历字典类型的时候, 推荐使用enumerateKeysAndObjectsUsingBlock,block版本的字典遍历可以同时取key和value(forin只能取key再手动取value)



for in、for和EnumerateObjectsUsingBlock遍历的区别

标签:区别   index   集合   pos   code   objects   元素   options   block   

原文地址:https://www.cnblogs.com/Mr-zyh/p/8376435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!