iOS 枚举 (enum)

xiaoxiao2021-02-28  18

枚举

/* 在Mac OS 10.8后apple引入两个宏来定义枚举类型: 1、NS_ENUM 是通用情况 2、NS_OPTIONS 定义具有位移操作的或特点的情况 位运算 1、&:两个都为1时,才为1,反之为0; 2、|:有一个为1时,才为1,反之为0; 3、^:两个不同为1,反之为0; 4、~:取反 5、<<:左位移,空位补0; 6、>>:右位移,空位补0. */ typedef NS_ENUM(NSInteger,ANIMALTYPE){ DOG, CAT, FISH }; typedef NS_OPTIONS(NSInteger, DIRECTION){ EAST = 0, SOUTH = 1 << 0, WEST = 1 << 1, NORTH = 1 << 2 };
位移枚举使用
/* 0000 0000 0 (EAST) 0000 0001 0000 0001 2^0 = 1 (SOUTH) 0000 0001 0000 0010 2^1 = 2 (WEST) 0000 0001 0000 0100 2^2 = 4 (NORTH) EAST | SOUTH 0000 0000 0000 0001 0000 0001 SOUTH | WEST 0000 0001 0000 0010 0000 0011 2^1+2^0 = 3 WEST | NORTH 0000 0010 0000 0100 0000 0110 2^2 + 2^1 = 6 */ (按位或 保证或之后结果不会重复)。

记录下,仅供参考!

转载请注明原文地址: https://www.6miu.com/read-2649960.html

最新回复(0)