Enum和typedef

【枚举类型】

使用emum关键字创建枚举。

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

     

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

enum Direction 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. enum Direction{
    up ,// 0
    down=10,//10
    middle,//11
    left,//12
    right//13
    };

     

数字转换成枚举

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

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

     

typedef定义别名

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

  1. // 为enum Dir 启用别名
    typedef enum Dir Direction;
  2.  或者定义成简写模式

//简写模式
    enum  {
        up,
        down
    } Direction ;

 

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

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

     

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

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





posted @ 2015-01-25 16:57  malongs.com  阅读(450)  评论(0编辑  收藏  举报