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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© haha92210 中级黑马   /  2014-11-22 11:53  /  1160 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

枚举的值如何输出
typedef enum{
    ColorYellow,
    ColorRed,
    ColorWhite
}Color;
我想直接打印出ColorYellow
Nslog(@"%s",a->color)
可以这么输出吗? 怎么敲?  麻烦了

评分

参与人数 1黑马币 +1 收起 理由
星河鹭起 + 1

查看全部评分

14 个回复

倒序浏览
不可以  你只是 定义了枚举类型   而没有定义枚举变量  而且 你这 个枚举定义的好像有点问题  正确的 应该是
enum Color{
    ColorYellow,
    ColorRed,
    ColorWhite
};
enum Color c=ColorRed;
Nslog(@"%s",c)
回复 使用道具 举报
万雷 发表于 2014-11-22 12:15
不可以  你只是 定义了枚举类型   而没有定义枚举变量  而且 你这 个枚举定义的好像有点问题  正确的 应该 ...

谢谢  你的这个写法我倒是能明白表达的意思 不过  我是在视频0804那天的代码学到的这种定义方式啊。。。{:2_34:}你的这个枚举定义是在那一讲有说啊?是c还是oc啊?
回复 使用道具 举报
万雷 发表于 2014-11-22 12:15
不可以  你只是 定义了枚举类型   而没有定义枚举变量  而且 你这 个枚举定义的好像有点问题  正确的 应该 ...

typedef enum{
    ColorYellow,
    ColorRed,
    ColorWhite
}Color;
...
@interface Dog : NSObject
{
    @public
    Color curColor;
    double weight;
}
...
d->curColor = ColorYellow;
...
nslog(@"%s",d->curColor);
完整是这样的  有定义的  他会有警告  format specofies type 'char*'......
回复 使用道具 举报
haha92210 发表于 2014-11-22 17:08
谢谢  你的这个写法我倒是能明白表达的意思 不过  我是在视频0804那天的代码学到的这种定义方式啊。。。{ ...

你的是在枚举的同时用了typedef,2楼只是简单的枚举
回复 使用道具 举报
Jr_711 发表于 2014-11-22 18:29
你的是在枚举的同时用了typedef,2楼只是简单的枚举

那请问 如何才能输出我枚举的对象啊   
回复 使用道具 举报
本帖最后由 haha92210 于 2014-11-23 12:58 编辑

好吧  我晒图 希望来人帮忙解决下啊
回复 使用道具 举报
Jr_711 高级黑马 2014-11-23 13:10:14
8#
haha92210 发表于 2014-11-22 22:29
那请问 如何才能输出我枚举的对象啊

枚举这么写,应该只是给程序员(比如同事)看的,要使用你的枚举时候,好明白你的枚举里的量都代表什么,

打印出来,还是相对应的0,1,2...,我也不知道有没有直接打印的函数

我想着可以自己写个条件语句来实现

回复 使用道具 举报
Jr_711 发表于 2014-11-23 13:10
枚举这么写,应该只是给程序员(比如同事)看的,要使用你的枚举时候,好明白你的枚举里的量都代表什么, ...

哦 这样啊  是加个if或者switch判断吗?  那判断的条件 里面添个指向该属性的指针就行吗?
回复 使用道具 举报
万雷 高级黑马 2014-11-24 13:00:40
10#
haha92210 发表于 2014-11-22 17:08
谢谢  你的这个写法我倒是能明白表达的意思 不过  我是在视频0804那天的代码学到的这种定义方式啊。。。{ ...

C  中  枚举 那一节
回复 使用道具 举报
万雷 发表于 2014-11-24 13:00
C  中  枚举 那一节

感谢   昨天复习的时候看到了
谢谢谢谢
回复 使用道具 举报
打印出来是 0 1 之类的吧好像 应该用%d?
回复 使用道具 举报
云无心ii 发表于 2014-11-25 14:57
打印出来是 0 1 之类的吧好像 应该用%d?

我所期望的是打出枚举类型中定义的字符  所以  貌似只能加判断  当返回值为 1或0  nslog 男或女
回复 使用道具 举报
haha92210 发表于 2014-11-25 15:57
我所期望的是打出枚举类型中定义的字符  所以  貌似只能加判断  当返回值为 1或0  nslog 男或女 ...

这样啊 那可以用switch啊
回复 使用道具 举报
云无心ii 发表于 2014-11-25 17:26
这样啊 那可以用switch啊

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