Objective-C #import,用于连接路径前缀

时间:2012-10-02 19:56:01

标签: objective-c c-preprocessor

我目前正在处理条件#import,其中:

#ifdef MY_IMPORT_PREFIX
#import "MyFramework/MyHeader.h"
#else
#import "MyHeader.h"
#endif

我在XCode项目中定义MY_IMPORT_PREFIX,如下所示: Preprocessor Macros in XCode project

但我想尝试将其优化为单行,我将MY_IMPORT_PREFIX的值(通常是undef但可能已定义)连接到我要导入的文件。

我尝试过以下无效:

#define MY_CONCAT_2(c,d) c ## d
#define MY_CONCAT(a,b) MY_CONCAT_2(a,b)

#import MY_CONCAT(MY_IMPORT_PREFIX, MyHeader.h)

有人接受挑战吗?

1 个答案:

答案 0 :(得分:1)

如果您只是想缩短您要写的内容,可以将#ifdef...行放在单独的头文件中,然后将该文件导入要导入MyHeader.h的所有源文件中带条件前缀。