美文网首页
iOS-枚举

iOS-枚举

作者: DeerRun | 来源:发表于2017-05-27 15:54 被阅读27次

枚举的作用:增强代码的可读性,
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];

相关文章

  • iOS-枚举

    枚举的作用:增强代码的可读性,1.C语言的写法 2.OC中有两种写法 1、typedef NS_ENUM(NSIn...

  • iOS-枚举的使用

    在iOS中枚举类型的使用方式,NS_ENUM(类型,类名)。 参考:http://blog.csdn.net/li...

  • iOS-枚举的<<

    这个<<是什么意思? 位操作法,即往左移动N位,举个例子,1的二进制表示是1,往左移一位就是10。这种枚举是一般叫...

  • iOS-位移枚举简单介绍

    路漫漫其修远兮,吾将上下而求索。在苹果系统以及我们常用的著名的三方框架中,我们经常会遇到位运算,比如像系统中的UI...

  • iOS-私有API与runtime

    iOS-私有API与runtime iOS-私有API与runtime

  • iOS-代码混淆加固策略

    iOS-代码混淆加固策略 iOS-代码混淆加固策略

  • iOS-性能优化深入探究

    iOS-性能优化深入探究 iOS-性能优化深入探究

  • iOS-自动打包及分发(三)

    iOS-自动打包及分发(一)iOS-自动打包及分发(二)iOS-自动打包及分发(三) 废话不多说了,上正文: 一、...

  • iOS-自动打包及分发(二)

    iOS-自动打包及分发(一)iOS-自动打包及分发(二)iOS-自动打包及分发(三) 本篇介绍:自动打包及分发xc...

  • iOS-枚举类型为什么要用<<

    在枚举中我们经常看到<<这样的位运算符。如果我们在枚举中看到<<那我们就可以通过|(位运算符:或)进行组合使用: ...

网友评论

      本文标题:iOS-枚举

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