Поддерживает ли Objective-C #elifdef?

Кажется, я не могу заставить #elifdefработать в моем проекте iOS. Если я сделаю так:

#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) будет выделена, а две верхние — нет. Почему? Есть ли другой способ, которым я должен это делать? У меня есть три цели, и все они используют один и тот же файл m. Однако константы немного отличаются для каждой цели, поэтому я разделяю их таким образом.

30
задан Brian Tompsett - 汤莱恩 14 July 2016 в 19:55
поделиться