枚举属于构造类型,提高程序的可读性,将人能看懂的标识符与计算机能识别的数字建立对应关系。 通俗解释,就是用文字来表示数字,比如下边的例子,enumOne的数据类型为NSInteger,及enumOne就是代表的1。
方式一
enum hehe {
enumOne1 = 1,
enumTwo2 = 1 << 1,
enumThree3 = 1 << 2,
enumFour4 = 1 << 3
};
//起别名
typedef enum hehe haha;
方式二
//直接定义名称
typedef enum {
enumOne = 1,
enumTwo = 1 << 1,
enumThree = 1 << 2,
enumFour = 1 << 3
}myEnum;
方式三
typedef NS_ENUM(NSInteger, myEnum) {
enumOne = 1,
enumTwo = 1 << 1,
enumThree = 1 << 2,
enumFour = 1 << 3
};
其中 « 后边的数字表示2进制,«1 表示2,«2表示4,«3表示8,这种2进制表示方法可以防止数字的重叠。 例如:enumOne|enumTwo当为2进制的时候表示3,不与枚举中数字重合,当为10进制的时候,表示3,与enumThree重叠了。