我有这个枚举:
enum battleType {localEnemy,multiplayerEnemy};
这是在我的游戏战斗场景的 .h 文件中声明的。但是,我还想在我的派对屏幕(这是另一个 .h 文件)中使用这两个关键字。我是否必须两次声明相同的枚举(在两个 .h 文件中),或者有没有办法只声明一次并在我的项目中的任何地方使用它?
作为旁注,这些关键字与整数完全相同,对吗?所以我不能真正将它们作为对象存储在我的数组中,而是必须为此创建一个 NSNumber 实例,对吗?
我有这个枚举:
enum battleType {localEnemy,multiplayerEnemy};
这是在我的游戏战斗场景的 .h 文件中声明的。但是,我还想在我的派对屏幕(这是另一个 .h 文件)中使用这两个关键字。我是否必须两次声明相同的枚举(在两个 .h 文件中),或者有没有办法只声明一次并在我的项目中的任何地方使用它?
作为旁注,这些关键字与整数完全相同,对吗?所以我不能真正将它们作为对象存储在我的数组中,而是必须为此创建一个 NSNumber 实例,对吗?
在它所属的头文件中声明它。在您的情况下,这可能是 BattleScene.h 或类似的东西。
在另一个文件中你也必须使用它#import BattleScene.h
。
如果你使用 typedef,你就不必一直写enum
。此外,在枚举中使用统一前缀是一个好习惯。这使您的代码更具可读性,并且自动完成可以在使用枚举时为您提供帮助。
typedef enum {BattleTypeLocalEnemy, BattleTypeMultiplayerEnemy} BattleType;
有一种方法。创建一个新.h
文件(New File -> C and C++ -> Header)并放入您的枚举。然后就#import
进入战斗场景标题和派对场景标题。
您的另一个问题:是的,它们确实是int
s、short
s 或其他 C 整数类型。