美文网首页
NS_ENUM enum 区别

NS_ENUM enum 区别

作者: wintersal | 来源:发表于2016-03-20 08:57 被阅读781次

文/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};

相关文章

网友评论

      本文标题:NS_ENUM enum 区别

      本文链接:https://www.haomeiwen.com/subject/acahlttx.html