美文网首页
(五) [OC高效系列]用枚举表示状态、选项、状态码

(五) [OC高效系列]用枚举表示状态、选项、状态码

作者: 修行猿 | 来源:发表于2016-08-10 07:33 被阅读104次

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){
        //执行下方向的相应代码
    }

相关文章

网友评论

      本文标题:(五) [OC高效系列]用枚举表示状态、选项、状态码

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