3

我为我的 iPhone 应用程序创建了一个 typedef 枚举...

typedef enum {
    FirstType,
    SecondType,
    ThirdType
} type;

只是为了测试,我希望能够从这些中选择一种随机类型。

我打算用arc4random() % 4它来做它,只是用 int 代替它,但想检查是否有更好的方法来做这件事。

4

1 回答 1

19
typedef enum {
    FirstType = 0,
    SecondType,
    ThirdType,
    EnumTypeMax
} EnumType;

EnumType randomType = (EnumType) (arc4random() % (int) EnumTypeMax);

请注意,EnumTypeMax等于3,不4,这是正确的。 EnumTypeMax被认为是无效值。

另外,请在此处查看我关于 X-Macros 解决方案的回答。

于 2012-10-02T10:32:36.207 回答