#define Objective-C

时间:2015-09-09 08:36:28

标签: ios objective-c c-preprocessor

我想在我的应用中定义一个全局预处理器指令。例如:

MyProgram.h 中,我定义:

#define USE_LOCALHOST

我从 appDelegate.m 开始导入此文件。

对于以后的使用,在另一个文件中,我引用了这个全局预处理器指令。

MyWebService.h 中,我定义:

#ifdef USE_LOCALHOST
static NSString *MY_SERVER = @"http://192.168.1.130:8888";
#else
static NSString *MY_SERVER = @"http://myserver.com";
#endif

但是,MY_SERVER的值始终为@" http://myserver.com"。如何让它正常工作?感谢。

2 个答案:

答案 0 :(得分:2)

.pch中定义它。而且您永远不会忘记在.h中包含USE_LOCALHOST - 文件。

或者您可以在Preprocessor Macros的构建设置中定义它。 例如,仅适用于Debug。

答案 1 :(得分:1)

#define仅适用于其定义的文件。但您可以在#import "MyProgram.h"MyWebService.h并解决问题。每次您需要访问USE_LOCALHOST时,只需导入头文件。