这两个枚举定义有什么区别?

时间:2012-10-25 21:01:06

标签: objective-c enums

  

可能重复:
  enum values: NSInteger or int?

这两个枚举定义有什么区别?

typedef enum : NSUInteger {
    Honda = 1,
    Chevrolet = 2,
    Mercedes = 3,
    Volvo = 4
} CarManufacturer;

enum {
    HarleyDavidson = 1,
    BMW = 2,
    Yamaha = 3,
    Kawasaki = 4,
};
typedef NSUInteger MotorcycleManufacturer;

1 个答案:

答案 0 :(得分:0)

它们基本上是一回事。不同的是,第一个更“C ++风格”,第二个更“C风格”。

C ++会产生一些语义差异,但您可以编写C-Style枚举(存在于整个Cocoa框架中)以实现向后兼容。