• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Objective-c枚举类型

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

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

  1. enum sex {male,female}; 

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

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

  1. enum sex student,teacher; 

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

  1. student = male; 

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

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

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

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

  1. #import <Foundation/Foundation.h> 
  2. int main (int argc, const char * argv[]) {  
  3. NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];  
  4. enum direction {  
  5. left,right,up = 9,down  
  6. };  
  7. enum direction mydirection;  
  8. mydirection = right;  
  9. NSLog (@"%i",mydirection) ;  
  10. mydirection = down;  
  11. NSLog (@"%i",mydirection) ;  
  12. [pool drain];  
  13. return 0;  

【程序结果】

  1. 1  
  2. 10 

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

  1. if(mydirection == right)… 



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
关于Objective-C格式化处理相关规范发布时间:2022-07-12
下一篇:
Objective-C的动态提示和技巧发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap