ios - 抑制链接器警告 : "Meta method X in category from Y overrides method from class in Z"

标签 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.我怎样才能告诉链接器不要提示?

谢谢。

最佳答案

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

唯一基于链接器的解决方案是在链接时传递-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/

相关文章:

ios推送到navigationController以黑屏结束

Swift:如何完全去除内部/内嵌符号?

ios - 直接从 Parse.com 下载图像,而不是使用他们的 API

objective-c - 设计具有许多参数的 API

ios - Storyboard显示所有带有蓝色边框的圆角矩形的对象

IOS - 请求成员 'domain' 不是结构或联合?

android - 有什么方法可以知道 Android 应用程序链接是否会打开应用程序?

c++ - 为什么在内联构造函数中访问静态成员时链接器失败

ios - 可以使用 iOS 和 Rails API 应用程序将 token 和密码存储在 iOS 钥匙串(keychain)中吗?

ios - 当 TextView 中没有文本时,如何让 TableView 不保存笔记?