1

我有一个枚举,我只在一个班级里私下使用。枚举是否仍应在 .h 文件中定义,还是有办法将其包含在 .m 文件中?

4

2 回答 2

2

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

于 2013-09-05T17:58:04.753 回答
0

我同意上述观点,让一切尽可能本地化。但是我经常使用公共枚举的一个例子是,当我想用​​自定义 init 方法初始化一个类时,该方法使用某种类型作为参数。这是我自己的代码中的一个示例。

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

@interface BMPopUpMenuView : UIView

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

@end
于 2013-09-05T18:10:05.553 回答