我有意使用类别来覆盖我知道已经在主类上实现的方法。我知道这通常是设计薄弱的标志——请不要讲课——但在这种情况下我不能干净地子类化。我知道swizzling也可能是一种选择。
但是现在,我该如何抑制这个警告? llvm 抛出一个编译器警告,我可以禁用它(diagnostic ignored "-Wobjc-protocol-method-implementation"
)。但随后链接器也会提示。
This asks a similar question but was looking for a different answer.我怎样才能告诉链接器不要提示?
谢谢。
最佳答案
不幸的是,没有好的答案。
唯一基于链接器的解决方案是在链接时传递-Wl,-w
;也就是说,告诉 Clang 将 -w
选项传递给链接器。这将抑制所有 链接器警告,可能包括您仍然希望看到的警告。
更高级别的解决方法是通过 grep -v
管道链接器的输出。该解决方案的细节往往在很大程度上取决于您的 shell 和构建系统。
关于ios - 抑制链接器警告 : "Meta method X in category from Y overrides method from class in Z",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14411161/