宽容他人,放过自己。

枚举enum

Posted on By anchoriteFili

枚举属于构造类型,提高程序的可读性,将人能看懂的标识符与计算机能识别的数字建立对应关系。 通俗解释,就是用文字来表示数字,比如下边的例子,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重叠了。