Objective-C是否支持#elifdef?

时间:2012-05-10 06:35:16

标签: objective-c c-preprocessor

我似乎无法在我的iOS项目中使用#elifdef。如果我这样做:

#ifdef X
const Foo bar[] = { ... };
#else
const Foo bar[] = { ,,, };
#endif

然后顶部的一个(在X下面)突出显示而底部的一个没有突出显示。如果我这样做:

#ifdef W
const Foo bar[] = { ;;; };
#elifdef X
const Foo bar[] = { ... };
#else
const Foo bar[] = { ,,, };
#endif

然后底部的一个(在其他地方)突出显示而前两个没有。为什么?还有另一种方法我应该这样做吗?我有三个目标,他们都使用相同的m文件。但是,每个目标的常量有点不同,所以我将它们分开。

1 个答案:

答案 0 :(得分:77)

您可以简单地写一下:

#elif defined X

哪个应与所有ANSI-C兼容的编译器兼容。