我将一个Class类型作为参数传递给一个方法,并且XCode 4.5.2中的LLVM编译器生成一个警告,“多个名为'foo'find'的方法,这是可以理解的,但在这种情况下是不可取的。如何通过禁用此类警告或更改我的代码来消除此警告?
- (void) fooWithClass: (Class) theClass
{
[theClass aClassMethodOfThatClass];
}
更具体地说,该参数是某个基类的子类,我发送的消息在该基类中声明。
答案 0 :(得分:4)
如果有人仍感兴趣,停用-Wall
对我不起作用:
在使用LLVM手册后,我发现使用Peres方法(从Xcode 7开始)需要忽略的确切警告是:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-selector-match"
// code
#pragma GCC diagnostic pop
答案 1 :(得分:0)
要停用警告,您可以查看clang manual。像这样:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wall"
[theClass aClassMethodOfThatClass];
#pragma GCC diagnostic pop