#define IS_APP_FULL_VERSION NO
和代码
isAppFullVersion = IS_APP_FULL_VERSION;
设置实例变量。但是,有没有办法也做
#if IS_APP_FULL_VERSION == "NO"
// add some methods here
#endif
但它会给出一个编译错误,所以是#if (IS_APP_FULL_VERSION == "NO")
。有没有办法根据YES
和NO
来检查它? (核对替代值)
更新:好像>
和== 0
是允许的,如
#if IS_APP_FULL_VERSION == 0
,所以我们实际上可以使用0
和1
虚假和真实的,请使用== 1
进行测试,但如果可以使用YES
和NO
,则会更好。
更新2:
一个可能的解决方案被证明是:
#define IS_APP_FULL_VERSION 1
#if IS_APP_FULL_VERSION
// add some methods here
#endif
isAppFullVersion = IS_APP_FULL_VERSION;
将所有的工作,我们可以只改变1
到0
切换的代码。
这里有两个问题:1)“NO”的值为零,并且在测试变量的值之前会发生替换。 2)没有宏功能来评估表达式' == '。 –
2012-08-17 02:14:05