如何在Objective-C中抑制"宏重新定义"警告

Max*_*rov 7 macros warnings objective-c llvm clang

我需要在我的项目中重新定义一个宏并有一个编译警告.我试过了

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wall"
#define SomeMacroToRedefine MyMacro
#pragma clang diagnostic pop
Run Code Online (Sandbox Code Playgroud)

但它并没有真正奏效,我仍然有一个警告.任何其他想法如何解决它?

jus*_*tin 11

您应该考虑使用唯一标识符.

此警告显然在Xcode 6.1发行版中没有标识符.

您可以#undef在定义之前:

#undef SomeMacroToRedefine
#define SomeMacroToRedefine MyMacro
Run Code Online (Sandbox Code Playgroud)