• ios警告:Category is implementing a method which will also be implemented by its primary class 引发的相关处理


    今天在处理项目中相关警告的时候发现了很多问题,包括各种第三方库中的警告,以及各种乱七八糟的问题  先说说标题中的问题  Category is implementing a method which will also be implemented by its primary class  这个警告的意思是 我在category中重写了原类的方法 而苹果的官方文档中明确表示  我们不应该在category中复写原类的方法,如果要重写 请使用继承  原文是这样的:A category allows you to add new methods to an existing class. If you want to reimplement a method that already exists in the class, you typically create a subclass instead of a category.  所以这里就出现了警告,警告而已,毕竟不是错误,所以也不会影响我们的使用,但是会让人看着很不爽,所以查了一下不显示这个警告的方法

    1.在相关位置插入下面这段代码

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
    
    // your override
    
    #pragma clang diagnostic pop

    2.在target的 build settings下  搜索other warning flags  然后给其添加 -Wno-objc-protocol-method-implementation

    好了  警告没有了

    这里顺便说一下  2中的方法  对很多批量的警告很有用  而后面相关字段 -Wno-objc-protocol-method-implementation  其实是可以查得到的    方法是在xcode中选择你想屏蔽的警告,右键选择 reveal in log 就可以在警告详情中发现 -Wobjc-protocol-method-implementation  这么一个格式的字段 在-W后添加一个no-  然后在用2中的方法添加到 other warning flags 中 就可以处理大部分的警告了

  • 相关阅读:
    这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)
    skywalking在 .net Framework客户端使用
    websoket的扫码登陆简单用法
    微信授权登陆nginx代理
    本地下载文件的方法(兼容下载图片和视频)
    Vue-给对象新增属性(使用Vue.$set())
    浏览器解析URL的过程
    promise es6,es7
    filter全局方法的写法
    监听滚动条
  • 原文地址:https://www.cnblogs.com/zyi1992/p/4832716.html
Copyright © 2020-2023  润新知