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