【发布时间】:2012-03-29 11:03:53
【问题描述】:
可能重复:
Does fast enumeration in Objective-C guarantee the order of iteration?
只是一个简单的问题,对谷歌来说是个问题:
当像这样快速迭代一个 NSArray 时:
for (NSObject *obj in array) {}
顺序是否明确?在我的测试中似乎是这样,但我无法在任何地方找到保证......
谢谢!
【问题讨论】:
可能重复:
Does fast enumeration in Objective-C guarantee the order of iteration?
只是一个简单的问题,对谷歌来说是个问题:
当像这样快速迭代一个 NSArray 时:
for (NSObject *obj in array) {}
顺序是否明确?在我的测试中似乎是这样,但我无法在任何地方找到保证......
谢谢!
【问题讨论】:
来自Objective-C 编程语言的Fast Enumeration section:
对于具有明确定义顺序的集合或枚举器(例如从数组派生的 NSArray 或 NSEnumerator 实例),枚举按该顺序进行,因此只需计算迭代次数即可在需要时为您提供正确的集合索引它。
【讨论】:
是的,确实如此。
文档说 NSArray 及其子类«管理有序对象集合»。 这就是您正在寻找的保证。
请注意,例如,NSDictionary 并非如此。
【讨论】: