iOS-枚举

枚举的作用:增强代码的可读性,
1.C语言的写法

enum LJCPPReconnectFlags
{
    kShouldReconnect   = 1 << 0,  // If set, disconnection was accidental, and autoReconnect may be used
    kMultipleChanges   = 1 << 1,  // If set, there have been reachability changes during a connection attempt
    kManuallyStarted   = 1 << 2,  // If set, we were started manually via manualStart method
    kQueryingDelegates = 1 << 3,  // If set, we are awaiting response(s) from the delegate(s)
};

2.OC中有两种写法

<p>1、typedef NS_ENUM(NSInteger, ****Type) 模式, 第一个枚举值只要NSInteger类型,后面的依次累加,中间再重新赋值,后面的会从赋值处重新累加</p>

typedef NS_ENUM(NSInteger, LJCMessageBodyType) {
    LJCMessageBodyTypeText = 1,       //文本
    LJCMessageBodyTypeImage,          //图片
    LJCMessageBodyTypeSound,          //语音
    LJCMessageBodyTypeMap,            //地理信息(文本)
    LJCMessageBodyTypeNotification,   //通知
    LJCMessageBodyTypeCustom,         //自定义
    LJCMessageBodyTypeVideo,          //视频
    LJCMessageBodyTypeExpression,     //表情
};

<p>2、typedef NS_OPTIONS(NSInteger, *****Type) 模式, 具有位移操作,</p>

typedef NS_OPTIONS(NSUInteger, LJCType) {
    LJCTypeWX = 1,
    LJCTypeWXFC = 1 << 0,
    LJCTypeQQ= 1 << 1,
    LJCTypeWB= 1 << 1,
    LJCTypeReport= 1 << 3,
    LJCTypeBarrage = 1 << 4,
    LJCTypeAll = 0xFFFFFFFF,
};

<p> <<(左移):a << b就表示把a转为二进制后左移b位(在后面添b个0)</p>
<p> LJCTypeAll = 0xFFFFFFFF 表示全选 </p>

<p> 如果我们在枚举值中看见<<那我们就可以通过|(位运算符:或)进行组合使用如下代码为例: </p>

//随便添加一个UITextField
UITextField *field = [UITextField new];
//Begin,Changed,DidEnd都能触发UITextField的事件
[field addTarget:self action:@selector(textFieldDidChanged) forControlEvents: UIControlEventEditingDidBegin |
                  UIControlEventValueChanged |
                  UIControlEventEditingDidEnd
     ];
[self.view addSubview:field];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转载自:http://mp.weixin.qq.com/s?__biz=MzA3NzM0NzkxMQ==&mid=...
    YYT1992阅读 4,014评论 3 0
  • 枚举增强程序的可读性,用法上还是需要注意的 1.C语言的写法 或者是 2.OC的写法 第一个枚举值只要NSInte...
    黑马饮清泉阅读 9,332评论 1 4
  • 在枚举中我们经常看到<<这样的位运算符。如果我们在枚举中看到<<那我们就可以通过|(位运算符:或)进行组合使用: ...
    小猫仔阅读 4,581评论 0 1
  • 已被此妹萌哭,好了,废话不多说,进入正题,今天介绍一下objective-c中的枚举 提要 首先要知道的是,枚举值...
    上冬十二阅读 12,026评论 2 10
  • 《礼记·射义》说:射者,男子之事也。 诗人顾城说:小巷又深又长,我用一把钥匙,敲着厚厚的墙。 木心说:你再不来,我...
    67cb1785a251阅读 11,364评论 0 1

友情链接更多精彩内容