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

The*_*ken 19 for-loop objective-c nsarray ios

请考虑以下声明:

for (NSString *string in anArray) {

    NSLog(@"%@", string);
}
Run Code Online (Sandbox Code Playgroud)

如何stringanArray不使用传统for循环的情况下获取in 的索引,而不检查string每个对象的值anArray

Tom*_*mmy 43

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

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

    index++;
}
Run Code Online (Sandbox Code Playgroud)

或者,使用块枚举器:

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