#define在Objective-C的头文件中

时间:2011-07-05 15:26:38

标签: ios objective-c iphone macros c-preprocessor

我有一个看起来像

的Global.h
#define NUMBERX 21

在AppDelegate.h中我包含了Global.h文件。在AppDelegate.m中,我包含了AppDelegate.h文件。但在AppDelegate.m中,我无法访问NUMBERX变量。

ERROR: Use of undeclared indentifier 'NUMBERX'.

如果我在AppDelegate.h中定义NUMBERX而不是它的工作原理,但我想在我想要使用NUMBERX变量的所有其他头文件中只包含头文件(Global.h)。

我该如何解决?

4 个答案:

答案 0 :(得分:1)

这应该没问题,假设你在使用它之前没有#undef它。在AppDelegate.h文件中包含AppDelegate.m之前,您是否在使用该符号?您是否正在使用可能禁止包含它的包含警卫?

答案 1 :(得分:1)

如果您使用objective-c标准#import来包含您的标头文件,请尝试将其替换为“c”#include

答案 2 :(得分:0)

您必须在AppDelegate.m文件中包含Global.h文件。

答案 3 :(得分:0)

你能否使用int const NUMBERX然后你会得到代码完成和编译器检查。

Apple在定义常量和命名它们方面有一些很好的指导 Apple Coding Guidelines - Constants