可能重复:
Does fast enumeration in Objective-C guarantee the order of iteration?Obj-c for..in循环与NSArray排序?
只是一个简单的问题是被证明有问题的谷歌:
当快速遍历一个NSArray像这样:
for (NSObject *obj in array) {}
订单是否明确?在我的测试中,似乎是,但我无法在任何地方找到保证...
谢谢!
可能重复:
Does fast enumeration in Objective-C guarantee the order of iteration?Obj-c for..in循环与NSArray排序?
只是一个简单的问题是被证明有问题的谷歌:
当快速遍历一个NSArray像这样:
for (NSObject *obj in array) {}
订单是否明确?在我的测试中,似乎是,但我无法在任何地方找到保证...
谢谢!
从Objective-C编程语言的Fast Enumeration section:
对于集合或枚举具有在良好定义的顺序,如一个NSArray或从衍生的NSEnumerator实例阵列枚举前进该顺序,所以只需计算迭代就可以在需要时为集合提供适当的索引。
是的,它的确如此。
该文件说NSArray及其子类«管理订购对象集合»。 这是您正在寻找的保证。
请注意,例如,NSDictionary并非如此。