Enum和typedef
【枚举类型】
使用emum关键字创建枚举。
-
// 定义一个枚举,用来表示方向 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
-
enumDirection{ up ,// 0 down=10,//10 middle,//11 left,//12 right//13 };
数字转换成枚举
因为枚举都是用数字表示的,那么数字也可以转换成枚举。
-
// 定义枚举 enumDir{ up, down }; // 数字转枚举 enumDir dir =0; // 检测是否相等 if(dir == up) { NSLog(@"相等..."); }
typedef定义别名
typedef可以为复杂的声明定义别名,比如我们上面的枚举。
-
// 为enum Dir 启用别名 typedefenumDirDirection;
有了如上的别名定义,在往后的使用过程中我们可以这样使用Dir 枚举
-
// 使用别名的枚举 Direction direction = up ;
typedef不仅可以定义enum的别名,int、float等其他类型均可定义
以后我们会使用的NSInteger就是int的别名定义。在XCode代码编辑器中‘’图标表示typedef别名。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。