获取枚举项的总数

Jos*_*ler 37 c enums objective-c

是否有可能在运行时获取枚举定义的项目总数?

虽然它和这个问题几乎是同一个问题,但这个问题与C#有关,据我所知,提供的方法在Objective-C中不起作用.

Dar*_*ren 70

An enum是普通的C类型,因此它不提供动态运行时信息.

一种替代方法是使用枚举的最后一个元素来指示计数:

typedef enum {
    Red,
    Green,
    Blue,
    numColors
} Color;
Run Code Online (Sandbox Code Playgroud)

  • 对于连续值很有用,`typedef enum {Red = 0xff0000,Green = 0x00ff00,Blue = 0x0000ff,numColors}颜色完全失败;`. (13认同)