Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios #在Objective-C中的单独文件中定义全局预处理器指令_Ios_Objective C_C Preprocessor - Fatal编程技术网

Ios #在Objective-C中的单独文件中定义全局预处理器指令

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中开始导入此文件 为了以后的使用,在另

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

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中开始导入此文件

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

在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。这不是创建全局指令的目的。谢谢你的回复。可能,我的方法是错误的。谢谢,这似乎是在文件之间共享预处理器指令的好方法。谢谢,这似乎是在文件之间共享预处理器指令的好方法。