1.NS_ENUM NS_OPTIONS
- NS_ENUM NS_OPTIONS 是编译器定义的用来方便声明枚举的宏
- NSENUM NS_OPTIONS 的宏中对编译器的新特性进行了判断
2.一次只能赋一个值的枚举变量
定义
typedef NS_ENUM(NSUInteger, State) {
StateConnected,
StateConnecting,
StateFailed
};
使用方式:swtich一定要把所有的情况覆盖,而不要用default,否则以后一旦增加状态,不会有提示。
State state = StateConnected;
switch (state) {
case StateConnected:
break;
case StateFailed:
break;
case StateConnecting:
break;
}
3.可以同时赋值多个值的枚举类型
定义
typedef NS_OPTIONS(NSUInteger, Direction) {
DirectionUp = 1 << 0,
DirectionDown = 1 << 1,
DirectionLeft = 1 << 2,
DirectionRight
};
使用
Direction direct = DirectionUp | DirectionLeft;
if(direct & DirectionUp){
//执行上方向的相应代码
}
if(direct & DirectionDown){
//执行下方向的相应代码
}