黑马程序员技术交流社区

标题: 为什么不用BOOL [打印本页]

作者: 曹雨    时间: 2014-6-30 16:33
标题: 为什么不用BOOL
本帖最后由 曹雨 于 2014-7-1 17:23 编辑

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

如上,李明杰老师说BOOL的时候没听清,听不清楚。。各位同学,求告知
作者: fantacyleo    时间: 2014-6-30 17:17
枚举允许你用有意义的符号来指代性别,比如enum sex  = {MALE=0, FEMALE=1}  程序中就可以写:
Student *stu = [Student new]
stu.sex = MALE;
如果是BOOL,你就只能用Yes和No赋值了,意思不明确。
作者: 1014917278    时间: 2014-7-1 09:25
为了方便程序员之间的交流,因为这段代码可能其他人也要去读,枚举更容易读懂
作者: ⒈心只霸占沵    时间: 2014-7-1 09:55
  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就是表示的男吗?
复制代码

作者: 斑马    时间: 2014-7-1 14:17
LS说的很详细了,就是BOOL只能代表yes/no,而枚举你可以定义多个
作者: 曹雨    时间: 2014-7-1 15:59
斑马 发表于 2014-7-1 14:17
LS说的很详细了,就是BOOL只能代表yes/no,而枚举你可以定义多个

谢谢学长的教导
作者: 张林林    时间: 2014-7-1 17:06
这个问题,我来回答。为了方便合作开发和同事之间交流。用枚举是最合适的,在Xcode中输入会有快捷提示。然而bool 和int啊,其本质就是0和1 这些数字而已没有实际的意义。用枚举的人水平比用其他两种方法的人高,用bool和int一般都是没有什么开发经验的。
作者: 曹雨    时间: 2014-7-1 17:10
⒈心只霸占沵 发表于 2014-7-1 09:55

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

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

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

{:3_57:}{:3_62:}感谢哈,你们都是各路大神
作者: 张林林    时间: 2014-7-1 18:02
曹雨 发表于 2014-7-1 17:59
感谢哈,你们都是各路大神

:#

:handshake:handshake:handshake




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2