我可以期望它按顺序从数组的开头到结尾吗?在文档中找不到关于此的任何内容。
即是
for (id val in array)
{
NSLog(@"%@", val);
}
总是会打印出与
for (int i = 0; i < [array count]; ++i)
{
NSLog(@"%@", [array objectAtIndex:i]);
}
我可以期望它按顺序从数组的开头到结尾吗?在文档中找不到关于此的任何内容。
即是
for (id val in array)
{
NSLog(@"%@", val);
}
总是会打印出与
for (int i = 0; i < [array count]; ++i)
{
NSLog(@"%@", [array objectAtIndex:i]);
}
来自 Apple关于快速枚举的Objective-C 文档:
对于具有明确定义顺序的集合或枚举器(例如从数组派生的 NSArray 或 NSEnumerator 实例),枚举按该顺序进行,因此如果需要,只需计算迭代次数即可为您提供正确的集合索引。
再次发布后,我找到了答案。我的旧参考文献没有提到迭代的顺序,但在线的参考文献却提到了。数组确实是按顺序迭代的。