我的 PCH 文件中有以下宏。
#ifdef DEBUG
#define MYLOG(...) NSLog(__VA_ARGS__)
#else
#define MYLOG(...) MYSERVERLOG(MYObject.enableLogging, __VA_ARGS__)
#endif
#define MYSERVERLOG(iLog, ...) iLog ? NSLog(__VA_ARGS__) : TRUE
现在,无论我设置 DEBUG=0 还是 DEBUG=1,它总是放在第一个子句中。但是,如果我在 PCH 中对 DEBUG 使用“if”而不是“ifdef”,那么它可以正常工作,但是我在所有 MYLOG 语句中都会收到警告,说“未使用表达结果”。
我怎样才能摆脱这种情况?