文/Mitchell(简书作者)
原文链接:http://www.jianshu.com/p/4aae576c71aa
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
下面是几种枚举的列举方式
定义整型值,但是不定义类型
enum{UITableViewCellStyleDefault,UITableViewCellStyleValue1,UITableViewCellStyleValue2,UITableViewCellStyleSubtitle};
定义适合特性参数的 UITableViewCellStyle 类型。
typedefenum{UITableViewCellStyleDefault,UITableViewCellStyleValue1,UITableViewCellStyleValue2,UITableViewCellStyleSubtitle}UITableViewCellStyle;
这种方法给出了 UITableViewCellStyle 确定的大小,但并没有告诉编译器这个类型和之前的 enum 有什么关系
typedefenum{UITableViewCellStyleDefault,UITableViewCellStyleValue1,UITableViewCellStyleValue2,UITableViewCellStyleSubtitle};typedefNSIntegerUITableViewCellStyle;
NS_ENUM: NS_ENUM 的第一个参数是用于存储的新类型的类型。在64位环境下,UITableViewCellStyle 和 NSInteger 一样有8bytes长。你要保证你给出的所有值能被该类型容纳,否则就会产生错误。第二个参数是新类型的名字。大括号里面和以前一样,是你要定义的各种值。
typedefNS_ENUM(NSInteger,UITableViewCellStyle) {UITableViewCellStyleDefault,UITableViewCellStyleValue1,UITableViewCellStyleValue2,UITableViewCellStyleSubtitle};