Objective-c 枚举类型

本文详细介绍了Objective-C中的枚举类型定义及其使用方法,包括如何定义枚举类型、枚举类型的数值分配规则以及如何在程序中使用枚举变量进行赋值和比较。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:http://book.51cto.com/art/201105/262240.htm

如果一个变量只有几种可能的值,那么,可以把它定义为枚举类型(也称为枚举)。所谓枚举是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。枚举类型的定义是以enum 关键字开头,然后是枚举数据类型的名称,而后是一系列值,这些值包含在一对花括号中,它们定义了可以给该类型指派的所有容许的值。例如:


  1. enumsex{male,female};

上面的例子定义了一个枚举类型sex,这个数据类型只能指派male和female两种值。要注意的是,如果指定其他的值,Objective-C编辑器不会发出警告。

下面我们使用这个类型来定义变量:


  1. enumsexstudent,teacher;

上面的例子定义了两个sex 类型的变量student 和teacher,这两个变量的值只能是male或female。比如,


  1. student=male

在Objective-C 编译中,将枚举元素(比如male)按照常量处理。Objective-C 语言的编译器按照定义的顺序从0开始依此编号下去。你也可以修改这个编号顺序。比如,


  1. enumdirection{up,down,left=9,right};

我们定义了一个枚举类型direction,因为up 在序列的第一位,所以编译器将它赋值为0,down在其后面所以赋值为1;对于left,我们赋值为9,后面是right,所以它的值是10。

【例2-13】枚举标识符实例。


  1. #import<Foundation/Foundation.h>
  2. intmain(intargc,constchar*argv[]){
  3. NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];
  4. enumdirection{
  5. left,right,up=9,down
  6. };
  7. enumdirectionmydirection;
  8. mydirection=right;
  9. NSLog(@"%i",mydirection);
  10. mydirection=down;
  11. NSLog(@"%i",mydirection);
  12. [pooldrain];
  13. return0;
  14. }

【程序结果】


  1. 1
  2. 10

还有一个要指出的是,枚举值可以被用来作判断比较,比如:


  1. if(mydirection==right)…


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值