web-dev-qa-db-ja.com

Objective-C For-In Loop GetIndex

次のステートメントを検討してください。

for (NSString *string in anArray) {

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

従来のstringループを使用せず、anArrayのすべてのオブジェクトでforの値をチェックせずに、stringanArrayのインデックスを取得するにはどうすればよいですか。 var] _?

20
The Kraken

配列はオブジェクトの順序で繰り返されることが保証されています。そう:

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);
       }];
43
Tommy