objective-c - ';' 语句说明符中应为 'for' (iOS)

标签 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

你知道错在哪里吗?

最佳答案

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

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

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

关于objective-c - ';' 语句说明符中应为 'for' (iOS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084213/

相关文章:

objective-c - ARC 不允许将 'int' 隐式转换为 'id'

ios - 如何反转 AAC 音频文件?

ios - -[NSObject doesNotRecognizeSelector :]: 的符号断点

ios - 使用 Objective-C 下载图像到 iPad

c# - 集合被修改;枚举操作不能在 ArrayList 中执行

vba - 获取枚举的等效文本

objective-c - 如何告诉(托管)对象通知其 KVO:其属性之一需要重新缓存?

ios - 以编程方式创建多个 UIImageView

ios - Sirikit 自定义意图和 iOS 13.4.1 的国际化问题

scala - 获取 Scala 枚举中值的上一个和下一个元素