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

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){
        //执行下方向的相应代码
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容