美文网首页
(五) [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