for infor和EnumerateObjectsUsingBlock遍历的区别

Posted mr-zyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for infor和EnumerateObjectsUsingBlock遍历的区别相关的知识,希望对你有一定的参考价值。

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 infor和EnumerateObjectsUsingBlock遍历的区别的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript中forfor...infor...offorEach的区别和用法

for infor和EnumerateObjectsUsingBlock遍历的区别

for...infor...offorEach()有什么区别

比较forfor..infor...offorEach

JavaScrip for infor offorEachmapfiltersomeevery

JavaScript中三种for循环语句的使用总结(forfor...infor...of)