应该以什么格式打印枚举? %什么?

时间:2011-11-18 22:23:13

标签: objective-c enums

这行代码导致编译器抱怨并进入调试模式

NSLog(@"Attacker card: %@", [attackerCard suit]);

我想知道是否是因为suit是enum声明为

的值
@property (assign) Suit suit;

Suit声明为

typedef enum {
    CLUBS, DIAMONDS, HEARTS, SPADES
} Suit;

我是否对格式做错了,问题出在其他地方?

1 个答案:

答案 0 :(得分:5)

枚举类型的特定大小是实现定义的,但它始终是整数类型,因此%d大部分时间都可以工作。如果您需要它非常强大,那么您需要测试sizeof(Suit)并选择基于此的格式。