我将一个 Class 类型作为参数传递给一个方法,XCode 4.5.2 中的 LLVM 编译器生成一个警告,“发现多个名为 'foo' 的方法”,这是可以理解的,但在这种情况下是不受欢迎的。如何通过禁用此类警告或更改我的代码来消除此警告?
- (void) fooWithClass: (Class) theClass
{
[theClass aClassMethodOfThatClass];
}
Run Code Online (Sandbox Code Playgroud)
更具体地说,该参数是某个基类的子类,我正在发送在该基类中声明的消息。
停用-Wall对我不起作用,以防有人仍然感兴趣:在 LLVM 手册中挖掘之后,我发现使用 Peres 的方法(从 Xcode 7 开始)需要忽略的确切警告是:
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstrict-selector-match"
// code
#pragma GCC diagnostic pop
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
384 次 |
| 最近记录: |