В target-c какая альтернатива использованию YES / NO при использовании #define и #if - PullRequest
1 голос
/ 01 февраля 2012

Из-за способа определения ДА / НЕТ вы не можете использовать ДА / НЕТ с #if, например #define CAN_DO YES, который указывает, что код, контролируемый тегом CAN_DO, должен быть «включен», обычно с использованием #if CAN_DO,Будучи парнем из старой школы C, я бы использовал #define CAN_DO 1, но чувствую, что он не очень похож на Objective-C.Есть ли предпочтительный способ «Objective-C» для этого?(Кстати, я знаю, что #ifdef, но тем, кто будет использовать тег, лучше всего указывать символ #defined ').

Проще говоря, я хотел бы, чтобы людикто будет устанавливать символы в своем «пользовательском» коде, чтобы иметь возможность сказать что-то вроде #define SOME_SYMBOL YES.Но я понимаю, что путь C #define SOME_SYMBOL 1 так же хорош, как и он.

1 Ответ

6 голосов
/ 01 февраля 2012

Подход старой школы С - это абсолютно правильный подход.Например, посмотрите, как NS_BLOCKS_AVAILABLE определяется в NSObjCRuntime.h.

...