头文件中typedef的范围

时间:2012-03-16 03:50:18

标签: objective-c typedef

如果我将typedef enum{kOne,kTwo}whatever;放在.h上方的@interface,我知道我可以通过.m中的方法实现来使用它。也就是说,我可以自由使用kOnekTwo

现在,我知道我可以制作一个@property whatever,从而将所选的whatever的kValue暴露给其他类,如果需要的话。

但是,如果我想公开whatever的枚举内容,那么我可以从其他类访问kOnekTwo怎么办?也就是说,我想知道whatever中包含了多少,并且也访问了这些常量。例如,我希望另一个类知道kOne为0,kTwo为1,等等。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:3)

只需#import相应的头文件,就像您需要使用它所定义的类一样。

你在不需要包含警卫,因为你使用#include用于Objective-C标头。请改用#import。有关详细信息,请参阅this question

答案 1 :(得分:0)

如果我理解正确,你可以将typedef放在它自己的标题中,并用

包围
#ifndef __MY_TYPEDEF__
typedef enum{kOne,kTwo}whatever;
#endif

只需要#include这个。