iOS枚举

作者: 孟子幻 | 来源:发表于2017-06-15 20:55 被阅读0次

一、普通枚举

1、写法

typedef NS_ENUM (NSInteger, ColorType) {

      RedColor,
    
      BlackColor,
    
      WhiteColor
    
    };

NS_ENUM 标示;NSInteger 固定类型,不能为NSString其他类型;ColorType枚举的类型;ColorType 声明的变量只能为单个值

二、位移枚举

1、写法

typedef NS_OPTIONS (NSUInteger, NetWorkType)  {
    
    Unknown  =  0,         //      0
    
    NotReachable = 1 << 1,    // 10    2^1
    
    WiFi = 1 <<  2,      // 100       2^2
    
    WWAN  = 1 << 3       // 1000      2^3
    
};

NS_OPTIONS 标示;NSUInteger 固定类型;NetWorkType 枚举的类型;NetWorkType 声明的变量只能可以为多个值

2、例

    NetWorkType netWorkType=WiFi|WWAN;
    [self checkUserNetWorkState:netWorkType];

    -(void)checkUserNetWorkState:(NetWorkType )stateType{
    //进行&运算
    if (stateType&NotReachable) {
        NSLog(@"NotReachable");
    }
    if(stateType&WiFi){
        NSLog(@"WiFi");
    }
    if(stateType&WWAN){
        NSLog(@"WWAN");
    }
    }

输出:

    2017-06-15 20:50:23.754 BitOperation[1450:34567] WiFi
    2017-06-15 20:50:23.755 BitOperation[1450:34567] WWAN

3、iOS系统API例

typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
    UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
    UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
    UIViewAutoresizingFlexibleHeight       = 1 << 4,
    UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
    UIView*view = [[UIView alloc]init];
    
    //view自动调整自己的宽度,保证与superView左边和右边的距离不变。自动调整自己的高度,保证与superView顶部和底部的距离不变
    view.autoresizingMask=UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
    [self.view addSubview:view];

相关文章

  • 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/flweqxtx.html