给定一个NS_ENUM枚举宏:
typedef NS_ENUM(NSInteger, UITableViewCellStyle) {
UITableViewCellStyleDefault,
UITableViewCellStyleValue1,
UITableViewCellStyleValue2,
UITableViewCellStyleSubtitle
};
元素的顺序是什么?我的意思是每个元素的基础整数值。
例如,UITableViewCellStyleDefault的值是0,UITableViewCellStyleValue1的值是1,UITableViewCellStyleValue2的值是2,UITableViewCellStyleSubtitle的值是3吗?
或者它可以是这样的:UITableViewCellStyleDefault的值为30,UITableViewCellStyleValue1的值为15,UITableViewCellStyleValue2的值为23,UITableViewCellStyleSubtitle的值是否为3?
由于
答案 0 :(得分:0)
NS_ENUM
值从0开始并按顺序增加。因此,在UITableViewCellStyle
示例的情况下,因为它被编码,那些值将是正确的。通常无法保证枚举的顺序不会改变,因此您应该认为这些值是不透明的;当然,在大多数情况下,你不应该比较它们或尝试用数学做任何聪明的事情。如果实际值很重要NS_OPTIONS
将是一个更好的选择,但即使这样,底层值也可能会发生变化,这对依赖于选项集的代码不会产生任何影响。