数组的快速枚举总是按索引顺序排列吗?
for (NSDictionary *zone in myArray)
{
//do code
}
是否总是从索引位置 0、1、2、...、n 枚举?
我更喜欢快速枚举而不是标准 for 循环,因为它使代码更易于阅读。
数组的快速枚举总是按索引顺序排列吗?
for (NSDictionary *zone in myArray)
{
//do code
}
是否总是从索引位置 0、1、2、...、n 枚举?
我更喜欢快速枚举而不是标准 for 循环,因为它使代码更易于阅读。
是的,它会的:
对于具有明确定义顺序的集合或枚举器(例如从数组派生的 NSArray 或 NSEnumerator 实例),枚举按该顺序进行,因此只需计算迭代次数即可在需要时为您提供适当的集合索引。
要快速枚举具有索引的数组,请使用块:
[myArray enumerateObjectsUsingBlock:^(NSObject *object, NSUInteger idx, BOOL *stop) {
...
// idx is myArray's index
}];