33

我可以期望它按顺序从数组的开头到结尾吗?在文档中找不到关于此的任何内容。

即是

for (id val in array)
{
   NSLog(@"%@", val);
}

总是会打印出与

for (int i = 0; i < [array count]; ++i)
{
   NSLog(@"%@", [array objectAtIndex:i]);
}
4

2 回答 2

59

来自 Apple关于快速枚举的Objective-C 文档:

对于具有明确定义顺序的集合或枚举器(例如从数组派生的 NSArray 或 NSEnumerator 实例),枚举按该顺序进行,因此如果需要,只需计算迭代次数即可为您提供正确的集合索引。

于 2010-05-06T00:17:10.140 回答
0

再次发布后,我找到了答案。我的旧参考文献没有提到迭代的顺序,但在线的参考文献却提到了。数组确实是按顺序迭代的。

于 2010-05-06T00:14:11.477 回答