Objective-C For-In循环获取索引

时间:2012-08-25 04:15:00

标签: ios objective-c for-loop nsarray

请考虑以下声明:

for (NSString *string in anArray) {

    NSLog(@"%@", string);
}

如果不使用传统的string循环而不使用anArray中的每个对象检查for的值,如何在string中获取anArray的索引}?

2 个答案:

答案 0 :(得分:42)

保证数组按对象顺序迭代。所以:

NSUInteger index = 0;
for(NSString *string in anArray)
{
    NSLog(@"%@ is at index %d", string, index);

    index++;
}

或者,使用块枚举器:

[anArray
    enumerateObjectsUsingBlock:
       ^(NSString *string, NSUInteger index, BOOL *stop)
       {
           NSLog(@"%@ is at index %d", string, index);
       }];

答案 1 :(得分:-2)

试试这个。

for (NSString *string in anArray)
{
  NSUInteger index = [anArray indexOfObject:string];
}