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

Art*_*wri 1 objective-c conditional-compilation

由于定义了YES/NO的方式,您不能使用YES/NO #if,例如,#define CAN_DO YES这表示由标签CAN_DO控制的代码应该通常使用"打开" #if CAN_DO.作为一个老学校的C家伙,我会用,#define CAN_DO 1但觉得它不是'Objective-C like'.有没有首选的'目标-C'方式来做到这一点?(顺便说一句,我知道#ifdef但是那些使用标签的人最好通过提供#defined'd符号)来服务.

更简单地说,我希望那些将在"用户"代码中设置符号的人能够说出类似的内容#define SOME_SYMBOL YES.但是我认为C方式#define SOME_SYMBOL 1和它一样好.

rob*_*off 6

老派的C方法正是正确的方法.例如,看看如何NS_BLOCKS_AVAILABLE定义NSObjCRuntime.h.