可能重复:
Does fast enumeration in Objective-C guarantee the order of iteration?
一个快速的问题,谷歌证明有问题:
当像这样快速迭代NSArray时:
for (NSObject *obj in array) {}
订单定义明确吗?在我的测试中似乎是,但我无法在任何地方找到保证......
谢谢!
答案 0 :(得分:4)
来自Objective-C编程语言的Fast Enumeration section:
对于具有明确定义的顺序的集合或枚举器(例如NSArray或从数组派生的NSEnumerator实例),枚举按此顺序进行,因此只需计算迭代,即可根据需要为集合提供正确的索引它
答案 1 :(得分:0)
是的,确实如此。
文档说NSArray及其子类«管理有序对象集合»。 这是您正在寻找的保证。
请注意,例如,NSDictionary不是这种情况。