Objective-C中枚举的类型是什么

时间:2012-02-10 18:32:44

标签: objective-c enums

我只想弄清楚值本身是否为int,unsigned int,NSInteger。我以为我看到有人说他们是无符号的整数,但在Apple的头文件中,我看到它们用来存储负值。

3 个答案:

答案 0 :(得分:6)

枚举是C(和C ++)的一个特性,而不是Objective-C。声明枚举时,声明一个新的C数据类型。

给定枚举数据类型的大小可以是int的大小,或者它可能只是足够大以容纳每个声明的枚举值。它是特定于编译器的,通常有编译器设置来控制枚举的处理方式。

最大的枚举可以是int,因此您始终可以将任何枚举值转换为int。反之则不然;您无法将任何int转换为枚举值。

答案 1 :(得分:1)

枚举整数最大为32位signed int

答案 2 :(得分:0)

这是枚举类型。您可以定义自己的类型,它可以采用某些指定的值。

看到这个问题: What is a typedef enum in Objective-C?

所以,如果你有一个类似的枚举:

typedef enum {    
   NBType1,
   NBType2,
   NBType2,
} NBType

传递给方法的参数类型为NBType