Ожидаемый ';'в спецификаторе оператора for (iOS) - PullRequest
1 голос
/ 16 августа 2011

, когда я пытаюсь следующий код в iOS для быстрого перечисления ...

NSArray *array = [NSArray arrayWithObjects: 
                  @"Hefeweizen", @"IPA", @"Pilsner", @"Stout", nil];

for (NSString *element in array) 
    NSLog(@"Beer: %@", element);

... Я получаю эту ошибку:

Expected ';' in 'for' statement specifier

Вы знаете, что не так?

1 Ответ

2 голосов
/ 17 августа 2011

Этот синтаксис называется fast enumeration и является частью Objective-C 2.0, поэтому, если вы используете версию компилятора до 2.0, он не будет работать.

Стандартный синтаксис, который звучит так, как будто его ожидает компилятор, выглядит примерно так:

for (int i = 0; i < [array count]; i++) {
    NSString *element = [array objectAtIndex:i];
    NSLog (@"Beer: %@", element);
}
...