抑制链接器警告:"来自Y的类别中的元方法X覆盖Z&#34中类的方法;

时间:2013-01-19 04:40:07

标签: ios objective-c linker objective-c-category

我故意使用类别来覆盖我知道已在主类上实现的方法。我知道这通常是设计薄弱的标志 - 拜托,没有讲座 - 但在这种情况下我不能干净地继承。我知道swizzling也可能是一种选择。

但是现在,我怎么能抑制这个警告呢? llvm抛出一个编译器警告我可以禁用(diagnostic ignored "-Wobjc-protocol-method-implementation")。但随后链接器也抱怨。

This asks a similar question but was looking for a different answer.如何告诉链接器不要抱怨?

感谢。

1 个答案:

答案 0 :(得分:1)

不幸的是,没有好的答案。

唯一基于链接器的解决方案是在链接时传递-Wl,-w;也就是说,告诉Clang将-w选项传递给链接器。这将禁止所有链接器警告,可能包括您仍希望看到的警告。

更高级别的解决方法是通过grep -v管道链接器的输出。该解决方案的细节往往很大程度上取决于您的shell和构建系统。