这只是出于好奇,但是当我声明一个枚举类型时,将它放在实现声明中还是在它之外更好?什么是最佳做法?例如:
@implementation PostQuestionScene
enum popUpItems{
kExpiredBox,
kPauseBackground
};
VS ..
enum popUpItems{
kExpiredBox,
};
@implementation PostQuestionScene ..
答案 0 :(得分:4)
我倾向于总是有一个typedef,所以它就像另一个变量:
typedef enum {
kExpiredBox,
kPauseBackground
} popUpItems_t;
然后创建它的实例。
popUpItems_t popUpItems;
如果你将在该模块之外使用它,将typedef放在标题中,这样当包含标题时,其他模块可以使用typedef(例如,如果需要将它作为参数),否则放入它在实现中(想想公共/私有变量。)
答案 1 :(得分:2)
我认为它没有任何技术差异。我会把它放在@implementation
之前(以及所有其他杂项声明),除非它只用在一个或一小组方法中,在这种情况下我会把它放在那些方法之前。
当然,如果它可能被客户端或子类使用,它应该在您的头文件中(@interface
所在的位置),以便定义对他们可见。