首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以指定Objective-C枚举的底层类型?

是否可以指定Objective-C枚举的底层类型?
EN

Stack Overflow用户
提问于 2012-10-25 07:28:17
回答 2查看 230关注 0票数 1

我很惊讶地发现Xcode没有对以下代码发出错误,这在C中是无效的:

代码语言:javascript
复制
typedef enum : NSUInteger {
    FLAG_A = 1,
    FLAG_B = 2,
    FLAG_C = 4
} MyFlags;

这似乎使NSUInteger成为MyFlags枚举的基础类型,与C#用于设置枚举基础类型的语法非常相似。

这个语法是按照它所显示的那样做的,还是它的意思是其他的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-25 07:56:38

它是从C++11借用的一个功能,用于确保枚举的特定大小。它允许在框架的公共API中使用枚举,而不必担心ABI最终会崩溃。

Clang implements this feature,并允许在Objective-C中将其用作语言扩展。

票数 4
EN

Stack Overflow用户

发布于 2012-10-25 07:36:22

这在objective c中可以很好地工作。您可以在枚举中为这些参数设置任何值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13059415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档