美文网首页
ios中的枚举类型

ios中的枚举类型

作者: 指尖弹灰 | 来源:发表于2016-10-17 01:08 被阅读0次

使用枚举和宏都可以使得程序简洁和易于修改。但在以下情况枚举是优于宏的:

当变量多的时候,枚举比宏更加容易修改,而且枚举的格式和多个宏定义相比更加易读。

在类型安全方面,枚举是类型安全的,宏定义不是类型安全的。例如:

#define RETURN_SUCCESS  0

#define TIME_OUT                  1

#define UNKONWN                 2

在超出这3中状态外,程序因匹配不到可能发生错误。



在ios中的枚举一般有两种形式

typedef NS_ENUM (NSInteger, ReturnType)   {

       ReturnSuccess = 0,

       TimeOut = 1,

       Unknown = 2

};

//除了上面的,还提供了方便进行位运算的枚举值 .可以将多种情况用一个变量表示,推荐使用。 (<<是左移运算符)

//通过位运算直接操控二进制,可以节约内存,加快程序。

typedef NS_OPTIONS (NSInteger, ReturnType)  {

         ReturnSuccess  =  0,    //              0

         NoNetwork = 1 << 1,    // 10         2

         Unknown = 1 <<  2,      // 100       4 

         NoService = 1 << 3       // 1000     8

};

我们可以对枚举值直接使用位运算符

  1.  将 TimeOut  和 Unknown 两种情况 归到一起  (按位或 | )

ReturnType FallingWood  = Unknown | TimeOut;    //  100  | 001    101    5

 2. 将对应的情况取出来 (按位与 &)

if (FallingWood & TimeOut) {

     NSLog(@"出错的情况中可能包括超时");

}

相关文章

  • iOS13 presentViewController 展示方式

    在iOS 13中,UIViewcontroller 的 modalPresentationStyle 枚举类型中多...

  • 关于枚举

    C语言中的另一种数据类型---枚举类型。枚举类型在iOS中也是很常用的 枚举的概念 枚举是C语言中的一种基本数据类...

  • ios中的枚举类型

    使用枚举和宏都可以使得程序简洁和易于修改。但在以下情况枚举是优于宏的: 当变量多的时候,枚举比宏更加容易修改,而且...

  • Swift和Objective-C中的类型

    iOS开发中使用的类型 Foundation中的类型可以分为三类: NSInteger等,在C语言中,枚举类型、字...

  • iOS-枚举的使用

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

  • IOS 枚举类型

    https://blog.csdn.net/snow_xuey/article/details/55258875

  • iOS中枚举类型转字符

    在.h文件中定义如下: .m文件中定义如下: @implementation ransactionStateMac...

  • SpringBoot 入门笔记(七)自定义枚举类型

    定义枚举类 在抛出异常中使用枚举类型 异常处理类中接受枚举类型

  • C++学习笔记(二)

    1 数据类型 枚举类型枚举类型枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干...

  • WWDC2015Session106What's New

    新特性:基本类型、类型匹配、可检查性、协议扩展、错误处理 基本类型 枚举 在枚举中加入类型: 递归枚举递归枚举中需...

网友评论

      本文标题: ios中的枚举类型

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