预期';' in'for'语句说明符(iOS)

时间:2011-08-16 19:57:09

标签: objective-c ios enumeration

当我在iOS中尝试以下代码以进行快速枚举时...

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

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

...我收到此错误:

Expected ';' in 'for' statement specifier

你知道出了什么问题吗?

1 个答案:

答案 0 :(得分:2)

该语法称为快速枚举,是Objective-C 2.0的一部分,因此如果您运行的是2.0版之前的编译器,它将无法正常工作。

它听起来像编译器所期望的标准语法是这样的:

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