我很惊讶地发现Xcode没有对以下代码发出错误,这在C中是无效的:
typedef enum : NSUInteger {
FLAG_A = 1,
FLAG_B = 2,
FLAG_C = 4
} MyFlags;这似乎使NSUInteger成为MyFlags枚举的基础类型,与C#用于设置枚举基础类型的语法非常相似。
这个语法是按照它所显示的那样做的,还是它的意思是其他的?
发布于 2012-10-25 07:56:38
它是从C++11借用的一个功能,用于确保枚举的特定大小。它允许在框架的公共API中使用枚举,而不必担心ABI最终会崩溃。
Clang implements this feature,并允许在Objective-C中将其用作语言扩展。
发布于 2012-10-25 07:36:22
这在objective c中可以很好地工作。您可以在枚举中为这些参数设置任何值。
https://stackoverflow.com/questions/13059415
复制相似问题