应该在哪里定义枚举?

时间:2013-09-05 17:55:51

标签: objective-c enums

我有一个枚举,我私下只使用一个类。枚举是否仍然在.h文件中定义,或者是否有办法将其包含在.m文件中?

2 个答案:

答案 0 :(得分:2)

如果enum(或该问题的任何其他定义)在单个类的实现中供私人使用,则应在.m文件中定义该类的实现。将它放在标题中会导致不必要的重新编译依赖于您的类的不相关文件,但不关心它使用的私有enum

答案 1 :(得分:0)

我同意上述内容,尽可能将所有内容都放在本地。但是我经常使用公共枚举的一个例子是当我想用自定义init方法初始化一个类时,它使用某种类型作为参数。这是我自己的代码中的一个例子。

typedef NS_ENUM(NSUInteger, PopUpMenuType) {
PopUpMenuTypeRegular,
PopUpMenuTypeFancy
};

@interface BMPopUpMenuView : UIView

- (id)initWithFrame:(CGRect)frame menuType:(PopUpMenuType)type;

@end