【发布时间】:2012-02-10 18:32:44
【问题描述】:
我只是想弄清楚这些值本身是否是 int、unsigned int、NSInteger。我以为我看到有人说它们是无符号整数,但在 Apple 的头文件中我看到它们用于存储负值。
【问题讨论】:
标签: objective-c enums
我只是想弄清楚这些值本身是否是 int、unsigned int、NSInteger。我以为我看到有人说它们是无符号整数,但在 Apple 的头文件中我看到它们用于存储负值。
【问题讨论】:
标签: objective-c enums
枚举是 C(和 C++)的特性,而不是 Objective-C。当你声明一个枚举时,你声明了一个新的 C 数据类型。
给定枚举数据类型的大小可能是int 的大小,或者它可能仅大到足以容纳每个声明的枚举值。它是特定于编译器的,通常有编译器设置来控制枚举的处理方式。
枚举的最大值可以是int,因此您始终可以将任何枚举值转换为int。反过来是不正确的;您不一定要将任何 int 转换为枚举值。
【讨论】:
int。但枚举 值 实际上只是整数常量。
枚举整数最大为 32 位 signed ints。
【讨论】:
它是一个枚举类型。您可以定义自己的类型,该类型可以采用某些指定的值。
看到这个问题: What is a typedef enum in Objective-C?
所以如果你有一个像这样的枚举:
typedef enum {
NBType1,
NBType2,
NBType2,
} NBType
传递给方法的参数类型为NBType。
【讨论】: