在objective-c中,当使用#define和#if时,使用YES/NO的替代方法是什么



由于定义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

最新更新