A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曹雨 中级黑马   /  2014-6-30 16:33  /  1809 人查看  /  12 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 曹雨 于 2014-7-1 17:23 编辑

  1. <P>#import <Foundation/Foundation.h>
  2. @interface Student :NSObject
  3. {
  4. BOOL sex;//为什么不能用BOOL,要用枚举
  5. }</P>
复制代码

如上,李明杰老师说BOOL的时候没听清,听不清楚。。各位同学,求告知

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

12 个回复

倒序浏览
枚举允许你用有意义的符号来指代性别,比如enum sex  = {MALE=0, FEMALE=1}  程序中就可以写:
Student *stu = [Student new]
stu.sex = MALE;
如果是BOOL,你就只能用Yes和No赋值了,意思不明确。

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

回复 使用道具 举报
1014917278 来自手机 中级黑马 2014-7-1 09:25:48
藤椅
为了方便程序员之间的交流,因为这段代码可能其他人也要去读,枚举更容易读懂
回复 使用道具 举报
  1. enum Sex
  2. {
  3.     FSexMale,//男
  4.     FSexFemale,//女
  5.     FSexOther//其他
  6. }

  7. BOOL  Sex //YES  NO

  8. 1.用枚举可以定义多个值,就拿性别来说,现在不仅仅只有男女了,还有男变女,还有女变男,还有没搞清楚的

  9. 2.用枚举,FSexMale别人一看就知道他是男性,用BOOL  你说YES是男还是NO是男,开发的时候,你看到别人Sex用BOOL类型,你能保证确定他YES就是表示的男吗?
复制代码

评分

参与人数 1技术分 +1 收起 理由
傘が咲く + 1

查看全部评分

回复 使用道具 举报
LS说的很详细了,就是BOOL只能代表yes/no,而枚举你可以定义多个
回复 使用道具 举报
斑马 发表于 2014-7-1 14:17
LS说的很详细了,就是BOOL只能代表yes/no,而枚举你可以定义多个

谢谢学长的教导
回复 使用道具 举报
BOOL只有两个值,要么表示男,要么表示女,那人妖怎么办,所以用枚举
回复 使用道具 举报
这个问题,我来回答。为了方便合作开发和同事之间交流。用枚举是最合适的,在Xcode中输入会有快捷提示。然而bool 和int啊,其本质就是0和1 这些数字而已没有实际的意义。用枚举的人水平比用其他两种方法的人高,用bool和int一般都是没有什么开发经验的。
回复 使用道具 举报

很详细的指导,特别感谢{:3_51:}
回复 使用道具 举报
1014917278 发表于 2014-7-1 09:25
为了方便程序员之间的交流,因为这段代码可能其他人也要去读,枚举更容易读懂 ...

{:3_57:}明白了,灰常感谢哈
回复 使用道具 举报
fantacyleo 发表于 2014-6-30 17:17
枚举允许你用有意义的符号来指代性别,比如enum sex  = {MALE=0, FEMALE=1}  程序中就可以写:
Student *stu ...

明白了,非常感谢{:3_64:}
回复 使用道具 举报
张林林 发表于 2014-7-1 17:06
这个问题,我来回答。为了方便合作开发和同事之间交流。用枚举是最合适的,在Xcode中输入会有快捷提示。然 ...

{:3_57:}{:3_62:}感谢哈,你们都是各路大神
回复 使用道具 举报
曹雨 发表于 2014-7-1 17:59
感谢哈,你们都是各路大神

:#

:handshake:handshake:handshake
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马