美文网首页
第五条: 用枚举表示状态, 选项, 状态码

第五条: 用枚举表示状态, 选项, 状态码

作者: iOS博仔 | 来源:发表于2021-10-26 18:18 被阅读0次

        由于Objective-C基于C语言,所以C语言有的功能它都有。其中之一就是枚举类型:enum。系统框架中频繁用到此类型,然后开发者容易忽视它。在以一系列常量来表示错误状态码或可组合的选项时,极宜使用枚举为其命名。由于C++11标准扩充了枚举的特性,所以最新版系统框架使用了“强类型”(strong type)的枚举。没错,objective-C也能得益于C++11标准。

        枚举只是一种常量命名方式。某个对象所经历的各种状态就可以定义为一个简单的枚举集(enumeration set)。比如说,可以用下列枚举表示"套接字连接"(socket connection)的状态:

    enum EOCConnectionState
         EOCConnectionStateDisconnected,
         EOCConnectionStateConnecting,
         EOCConnectionStateConnected,
    

        由于每种状态都用一个便于理解的值来表示,所以这样写出来的代码更易读懂。编译器会为枚举分配一个独有的编号,从0开始,每个枚举递增1。实现枚举所用的数据类型取决于编译器,不过其二进制位(bit)的个数必须能完全表示下枚举编号才行。在前例中,由于最大编号是2,所以使用1个字节表示的char类型即可。

        然而定义枚举的方式却不大简洁,要依如下语法编写:
        enum EOCConnectionState state = EOCConnectionStateDisconnected;

    相关文章

      网友评论

          本文标题:第五条: 用枚举表示状态, 选项, 状态码

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