iOS枚举

作者: 氮化镓加砷 | 来源:发表于2016-09-06 12:17 被阅读155次

在iOS中定义枚举可以帮我们减轻不少工作
枚举定义有两种一种是数值 一种是按照位移

enum JQConnectState : NSInteger{
   JQConnectStateDefault = 0,
   JQConnectStateStart ,
   JQConnectStatePause ,
   JQConnectStateStop ,
};
typedef enum JQConnectState JQConnectState;

enum JQCarSupportOrientation : NSInteger{
    JQCarSupportOrientationNone = 0 ,
    JQCarSupportOrientationTop = 1 << 1 ,
    JQCarSupportOrientationLeft = 1 << 2 ,
    JQCarSupportOrientationRight = 1 << 3 ,
    JQCarSupportOrientationButtom = 1 << 4 ,
};
typedef enum JQCarSupportOrientation JQCarSupportOrientation;

位移的用处在于可以组合使用,比如我们要判断是否支持两个方向的移动。

return  move| JQCarSupportOrientationLeft|JQCarSupportOrientationButtom;

iOS提供了两个宏简化枚举的定义

typedef NS_ENUM(NSUInteger, JQConnectState) {
    JQConnectStateDefault = 0,
    JQConnectStateStart,
    JQConnectStatePause,
    JQConnectStateStop,
};

typedef NS_OPTIONS(NSUInteger, JQCarSupportOrientation) {
    JQCarSupportOrientationNone = 0 ,
    JQCarSupportOrientationTop = 1 << 1 ,
    JQCarSupportOrientationLeft = 1 << 2 ,
    JQCarSupportOrientationRight = 1 << 3 ,
    JQCarSupportOrientationButtom = 1 << 4 ,
};

NS_ENUM用作通用 NS_OPTIONS用作位移枚举

在定义枚举的时候注意,最好指定枚举底层的数据
enum JQConnectState : NSIntege(数据类型)
NS_ENUM(NSUInteger(数据类型), JQConnectState)

另外在Effective-ObjC中也指出在switch分支中使用枚举,尽量不要使用default,应该把枚举的每个分支都包括

相关文章

  • Swift 5.1 (8) - 枚举类型

    级别: ★☆☆☆☆标签:「iOS」「Swift 5.1」「枚举」「迭代枚举」「枚举关联值」「递归枚举」作者: 沐灵...

  • iOS 常用数据(不定时提交更新)

    iOS 常用数据 别名 ——Block 枚举

  • ios高效开发-正确的使用枚举(Enum)

    ios高效开发-正确的使用枚举(Enum)

  • iOS枚举(位移枚举)

    什么是枚举 在程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。如果能在程序中用自然语言...

  • iOS枚举

    一、简单介绍 枚举是C语言中的一种基本数据类型,是一个"被命名的整型常量"的集合,它不参与内存的占用和释放,我们在...

  • iOS枚举

    一、普通枚举 1、写法 NS_ENUM 标示;NSInteger 固定类型,不能为NSString其他类型;Col...

  • iOS枚举

    在iOS中定义枚举可以帮我们减轻不少工作枚举定义有两种一种是数值 一种是按照位移 位移的用处在于可以组合使用,比如...

  • iOS 枚举

    现在枚举有三种写法: 其中第一种为C语言的写法,苹果推荐的还是后两种写法注意的是第一个枚举值只要NSInteger...

  • iOS 枚举

    iOS 枚举 使用typedef NS_ENUM 用法: 常用三种方式,普通使用推荐枚举NS_ENUM方式,如果需...

  • iOS 枚举

    枚举类型 enum, iOS 系统框架中频繁用到此类型,在以一系列常量来表示错误状态码或者可组合的选项时,极宜使用...

网友评论

      本文标题:iOS枚举

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