Objective-C は #elifdef をサポートしていますか? 質問する

Objective-C は #elifdef をサポートしていますか? 質問する

#elifdefiOS プロジェクトで作業できないようです。次のようにすると:

#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

すると、一番下の (else の下) が強調表示され、上の 2 つは強調表示されません。なぜでしょうか。これを行う別の方法があるのでしょうか。ターゲットが 3 つあり、すべて同じ m ファイルを使用しています。ただし、定数はターゲットごとに少し異なるため、このように分離しています。

ベストアンサー1

次のように書くこともできます:

#elif defined X

これは、すべての ANSI-C 互換コンパイラと互換性があるはずです。

おすすめ記事