我应该在哪里定义我的枚举?

时间:2012-07-21 16:19:37

标签: objective-c

我有这个枚举:

enum battleType {localEnemy,multiplayerEnemy};

在我的游戏战斗场景的.h文件中声明。但是,我想在我的派对屏幕中使用这两个关键字(这是另一个.h文件)。我是否必须两次声明这个相同的enumaration(在两个.h文件中),或者有没有办法只声明一次并在我的项目中的任何地方使用它?

作为旁注,这些关键字与整数完全相同,对吧?所以我无法将它们存储为我的数组中的对象,而是我必须为此创建一个NSNumber实例,对吧?

2 个答案:

答案 0 :(得分:2)

在它所属的头文件中声明它。在你的情况下,可能是BattleScene.h或类似的东西。

在另一个您必须使用#import BattleScene.h的文件中。

如果您使用typedef,则无需始终编写enum。此外,在您的枚举中使用统一前缀是一个好习惯。这使您的代码更具可读性,自动完成功能可以在使用枚举时帮助您。

typedef enum {BattleTypeLocalEnemy, BattleTypeMultiplayerEnemy} BattleType;

答案 1 :(得分:1)

有一种方法。创建一个新的.h文件(新文件 - > C和C ++ - >标题)并输入您的枚举。然后只需#import进入战斗场景标题和派对场景标题。

您的另一个问题:是的,它们实际上是intshort或其他C整数类型。