Ios #在Objective-C中的单独文件中定义全局预处理器指令
我想在我的应用程序中定义一个全局预处理器指令。例如: 在MyProgram.h中,我定义:Ios #在Objective-C中的单独文件中定义全局预处理器指令,ios,objective-c,c-preprocessor,Ios,Objective C,C Preprocessor,我想在我的应用程序中定义一个全局预处理器指令。例如: 在MyProgram.h中,我定义: #define USE_LOCALHOST #ifdef USE_LOCALHOST static NSString *MY_SERVER = @"http://192.168.1.130:8888"; #else static NSString *MY_SERVER = @"http://myserver.com"; #endif 我从appDelegate.m中开始导入此文件 为了以后的使用,在另
#define USE_LOCALHOST
#ifdef USE_LOCALHOST
static NSString *MY_SERVER = @"http://192.168.1.130:8888";
#else
static NSString *MY_SERVER = @"http://myserver.com";
#endif
我从appDelegate.m中开始导入此文件
为了以后的使用,在另一个文件中,我引用了这个全局预处理器指令
在MyWebService.h中,我定义:
#define USE_LOCALHOST
#ifdef USE_LOCALHOST
static NSString *MY_SERVER = @"http://192.168.1.130:8888";
#else
static NSString *MY_SERVER = @"http://myserver.com";
#endif
但是,
MY_SERVER
的值始终为@”。如何使它正常工作?谢谢。#define仅在中定义的文件中起作用。但您可以在MyWebService.h
中导入“MyProgram.h”,并解决问题。每次需要访问USE\u LOCALHOST
,只需导入头文件。\define
仅在中定义的文件中起作用。但您可以在MyWebService.h
中导入“MyProgram.h”,并解决问题。每次需要访问使用\u LOCALHOST
,只需导入头文件。在.pch
中定义它。而且您永远不会忘记在您定义的使用_LOCALHOST
的地方包含.h
-文件
或者,您可以在预处理器宏中的生成设置中定义它。
例如,仅用于调试。在.pch
中定义它。而且您永远不会忘记在您定义的使用_LOCALHOST
的地方包含.h
-文件
或者,您可以在预处理器宏中的生成设置中定义它。
例如,仅用于调试。使用本地主机,使用本地主机?对不起,我刚刚编辑了我的帖子。还是一样的问题。使用本地主机,使用本地主机?对不起,我刚刚编辑了我的帖子。还是同一个问题。我已经在AppDelegate.m中从一开始就导入了“MyProgram.h”,而不是AppDelegate.m,但是尝试在MyWebService.hOf中导入它。当然,在这种情况下,它会起作用。然而,我不想那样做。每次,我都需要给它打个电话给MyProgram.h。这不是创建全局指令的目的。谢谢你的回复。也许,我的方法是错误的。我已经在AppDelegate.m中从一开始就导入了“MyProgram.h”,而不是AppDelegate.m,但是尝试在MyWebService.hOf中导入它。当然,在这种情况下,它会起作用。然而,我不想那样做。每次,我都需要给它打个电话给MyProgram.h。这不是创建全局指令的目的。谢谢你的回复。可能,我的方法是错误的。谢谢,这似乎是在文件之间共享预处理器指令的好方法。谢谢,这似乎是在文件之间共享预处理器指令的好方法。