Enum和typedef

【枚举类型】

使用emum关键字创建枚举。

  1. // 定义一个枚举,用来表示方向
    enumDirection{
    up,
    down,
    middle,
    left,
    right
    };

     

枚举的值都可以用数字表示,默认从零开始递增

enumDirection direction = up ;
// 输出0
NSLog(@"direction = %i",direction);
direction = down ;
// 输出1
NSLog(@"direction = %i",direction);
direction = middle ;
// 输出2
NSLog(@"direction = %i",direction);
direction = left ;
// 输出3
NSLog(@"direction = %i",direction);
direction = right;
// 输出4
NSLog(@"direction = %i",direction);

 

  1. 自定义枚举的值。

枚举的值默认从零开始递增,下一个枚举值是上一个枚举值+1,如果我们自定义了枚举值,那么下一个枚举值是上一个自定义的枚举值+1

  1. enumDirection{
    up ,// 0
    down=10,//10
    middle,//11
    left,//12
    right//13
    };

     

数字转换成枚举

因为枚举都是用数字表示的,那么数字也可以转换成枚举。

  1. // 定义枚举
    enumDir{
    up,
    down
    };
    // 数字转枚举
    enumDir dir =0;
    // 检测是否相等
    if(dir == up)
    {
    NSLog(@"相等...");
    }

     

typedef定义别名

typedef可以为复杂的声明定义别名,比如我们上面的枚举。

  1. // 为enum Dir 启用别名
    typedefenumDirDirection;

     

有了如上的别名定义,在往后的使用过程中我们可以这样使用Dir 枚举

  1. // 使用别名的枚举
    Direction direction = up ;

     

typedef不仅可以定义enum的别名,int、float等其他类型均可定义

以后我们会使用的NSInteger就是int的别名定义。在XCode代码编辑器中‘技术分享’图标表示typedef别名。





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。