8

数组的快速枚举总是按索引顺序排列吗?

for (NSDictionary *zone in myArray)
{
    //do code
}

是否总是从索引位置 0、1、2、...、n 枚举?

我更喜欢快速枚举而不是标准 for 循环,因为它使代码更易于阅读。

4

2 回答 2

17

是的,它会的:

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

文档在这里

于 2012-05-21T16:39:30.960 回答
4

要快速枚举具有索引的数组,请使用块:

[myArray enumerateObjectsUsingBlock:^(NSObject *object, NSUInteger idx, BOOL *stop) {
   ...
   // idx is myArray's index
}];       
于 2012-05-21T16:38:19.037 回答