我有

enum Colour {
    white,
    pink,
    yellow,
    blue
} Colour;

我想这样做:

for (int colour in Colour){
    // Do something here.
}

我可以这样做吗?如果可以,怎么做?谢谢你的帮助!

推荐答案

enum来自C,而fast enumeration是Objective-C2.0的补充..他们不在一起工作.

Type existingItem;
for ( existingItem in expression ) { statements }

表达式必须符合NSFastEnumeration协议,并且是一个对象!枚举的"元素"不是对象.

有关更多信息,请参见此链接

查看此示例以了解枚举的工作速度:

NSArray *array = [NSArray arrayWithObjects:
        @"One", @"Two", @"Three", @"Four", nil];

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

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
    @"quattuor", @"four", @"quinque", @"five", @"sex", @"six", nil];

NSString *key;
for (key in dictionary) {
    NSLog(@"English: %@, Latin: %@", key, [dictionary objectForKey:key]);
}

Objective-c相关问答推荐

Objective-C NSMutableArray 在枚举时发生了变异?

当 UITextField 成为第一响应者时如何使 UIScrollView 自动滚动

UITableView/UITableViewCell 点击事件响应?

在子类中覆盖init

为什么当我使其处于非活动状态时,弱 IBOutlet NSLayoutConstraint 变为 nil?

iOS7过度导航栏按钮填充

.delegate=self 是什么意思?

如何转储存储在 Objective-C 对象(NSArray 或 NSDictionary)中的数据

如何为图层 shadowOpacity 设置动画?

使用 DatePicker 展开和折叠 UITableViewCells

如何保存我的 iPhone 应用程序的用户首选项?

发出许多网络请求的 iOS 应用程序的最佳架构?

在 NSString 对象中查找子字符串

从昨天开始无法将存档上传到应用store

WKWebView 判断 JavaScript 返回值

NSMutableArray 按顺序添加对象

如何在 UIAlertController 中添加 textField?

获取当前调度队列?

BOOL到 NSString

如何检测父视图控制器中模态视图控制器的解除?