首页 > iOS,for in快速枚举,遍历时是有序还是随机的?

iOS,for in快速枚举,遍历时是有序还是随机的?

for in快速枚举,遍历时是有序还是随机的?


我记得是无序的。 你可以多测试几次,虽然大部分它的表现像是有序的,但其实它并不是有序的,在一些情况下,它是无序的。
所以如果你要确保有序,还是用 for好些。

这个是我曾经遇到过一个现象,也有可能是我某个地方看错了。


oc的for in 快速枚举遍历的时候是按照元素在容器内的顺序(NSArray中元素的顺序是你添加的顺序,NSSetNSDictionry中元素的顺序是按照底层算法进行排序的与你添加的顺序不同)进行枚举的。

要注意的是使用for in快速枚举NSMutableArray这类可变对象时要注意不能对容器进行修改,否则会导致遍历器抛出异常导致程序崩溃。


讲道理的话是有序的。。。


从头到尾按顺序


用 for-in 去遍历容器时:


应该是有序的

【热门文章】
【热门文章】