Noo*_*low 31 cocoa objective-c
在最新的工具中,enum现在允许使用一种新的工具:
typedef enum CarType : NSUInteger {
FourDoorCarType,
TwoDoorCarType
} CarType;
Run Code Online (Sandbox Code Playgroud)
我的问题部分来自:
为什么我应该使用它而不是旧的方式?
为什么会CarType出现两次?我尝试跳过CarType第一行并将第一行留作" typedef enum : NSUInteger {",它似乎工作正常.有什么缺点,如果有的话?
有些类型NSUInteger可以使用吗?
zrz*_*zka 37
因为这种新方法可以帮助您自动完成,切换语句,更好,分别更精确的警告,...
坚持用宏...
typedef NS_ENUM( NSUInteger, CarType ) {
FourDoorCarType,
TwoDoorCarType
};
Run Code Online (Sandbox Code Playgroud)
...请阅读此示例/sf/answers/223332931/
NSInteger,...你想要什么类型?
Lil*_*ard 19
这明确定义了枚举使用的数字类型.这有助于解决可移植性问题.如果您需要对已签名和未签名的控制,它也会有所帮助
这里实际定义了两种类型.第一个是enum CarType第二个CarType,它是别名enum CarType.如果需要,可以省略第一个CarType.这只是防止enum CarType成为已定义的类型,但CarType仍然有效.人们做的另一件常见的事情是
typedef enum _EnumName {
values
} EnumName;
Run Code Online (Sandbox Code Playgroud)
你决定在这里做什么是个人偏好的问题.
是.您可以使用任何数字类型,但枚举值必须能够适合所选类型.
| 归档时间: |
|
| 查看次数: |
12032 次 |
| 最近记录: |