我有一个NS_OPTIONS:
typedef NS_OPTIONS(NSUInteger, BrowserViewMenuOptions) {
BrowserViewMenuOptionNone = 0,
BrowserViewMenuOptionCopy = 1 << 0,
BrowserViewMenuOptionMore = 1 << 1,
BrowserViewMenuOptionShare = 1 << 2,
BrowserViewMenuOptionDelete = 1 << 3,
BrowserViewMenuOptionDownload = 1 << 4,
};
假设我有一个像这样的值:
(BrowserViewMenuOptionCopy | BrowserViewMenuOptionMore | BrowserViewMenuOptionShare)
我如何像对数组那样枚举它?
最佳答案
您无法这样枚举,因为它们是常量值,而不是集合中的元素,但是,如果enum
遵循没有间隙的模式,则可以生成枚举的所有数值。您这样做,所以:
for (unsigned i = 0; i < 5; i++) {
NSLog(@"value=%u", 1 << i);
}
为了生成名称,您需要一个查找表。
关于ios - 枚举NS_OPTIONS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762925/