ban*_*isa 10 c enums enumeration objective-c
我在某处读到了枚举默认值,如下所示:
typedef enum {
MarketNavigationTypeNone = 0,
MarketNavigationTypeHeirachy = 1,
MarketNavigationTypeMarket = 2
} MarketNavigationLevelType;
Run Code Online (Sandbox Code Playgroud)
..但我不记得这样做的价值.如果我不给他们默认值 - 然后有人后来重新排序枚举 - 有什么风险?
如果我总是使用枚举名称,甚至不用它们的整数值来引用它们,那么有任何风险吗?
我能想到的唯一可能的问题是,如果我从数据库中的int值初始化枚举 - 并且重新排序枚举 - 那么应用程序将会中断.
这不是默认值,您可以为它们提供始终具有的值.
如果您不明确初始化它们,则第一个枚举器值为零.对于所有其他人,如果没有初始化器,则它们的值是前一个枚举器的值增加1.
给出明确值的原因有两个:
如果您总是通过名称引用它们,并且从不明确地使用整数值进行比较或赋值,则不需要明确地给它们赋值.
| 归档时间: |
|
| 查看次数: |
7203 次 |
| 最近记录: |