由于定义YES/NO的方式,您不能将YES/NO与#if
一起使用,例如#define CAN_DO YES
,它表示由标记CAN_DO控制的代码应该"打开",通常使用#if CAN_DO
。作为一个老派C,我会使用#define CAN_DO 1
,但感觉它不是很像"Objective-C"。有没有一种更可取的"Objective-C"方法可以做到这一点?(顺便说一句,我知道#ifdef
,但那些将使用该标签的人最好总是提供#defined
'd符号)。
简单地说,我希望那些在"用户"代码中设置符号的人能够说出#define SOME_SYMBOL YES
之类的话。但我有一个想法,C方式的#define SOME_SYMBOL 1
是最好的。
老派的C方法正是正确的方法。例如,请参见如何在NSObjCRuntime.h
中定义NS_BLOCKS_AVAILABLE
。