美文网首页
iOS如何处理编译器警告⚠️

iOS如何处理编译器警告⚠️

作者: Miridescent | 来源:发表于2018-06-13 09:15 被阅读25次
#pragma clang diagnostic push

#pragma clang diagnostic ignored "相关指令"

    // 代码

#pragma clang diagnostic pop

在上面所示代码位置添加代码,在添加相对应的指令可以去除编译时编译器的警告
常见指令如下

指令 用处
-Wincompatible-pointer-types 方法弃用警告
-Wincompatible-pointer-types 不兼容指针类型
-Wobjc-protocol-method-implementation 在类别中重写方法
-Warc-retain-cycles 循环引用
-Wunused-variable 未使用变量
-Wincomplete-implementation 没有实现已声明的方法
-Wprotocol 没有实现协议的方法
-Wimplicit-function-declaration 尚未声明的函数(通常指c函数)
-Wdeprecated-declarations 使用了不推荐使用的方法

举个例子

@implementation NSMutableArray (category)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"//去除类别中重写方法的编译器警告指令
- (void)removeLastObject {
    if (self.count) {
        [self removeObjectAtIndex:self.count - 1];
    }
}

#pragma clang diagnostic pop
@end

在NSMutableArray的类别中重写了removeLastObject方法,如果不加这个宏及相应的指令,编译时会有警告

连接中是相关指令的收集,最后更新是15年 我是这个连接
注意这个有趣的域名

拓展一下,C语言的GCC编译器也有一些警告,通常可以使用

#pragma GCC 相关指令

消除警告,链接是GCC相关的指令传送门

相关文章

  • iOS 编译过程的原理和应用

    前言 __attribute__ Clang警告处理 预处理 插入编译期脚本 提高项目编译速度 iOS编译 编译器...

  • iOS如何处理编译器警告⚠️

    在上面所示代码位置添加代码,在添加相对应的指令可以去除编译时编译器的警告常见指令如下 举个例子 在NSMutabl...

  • 收藏文章

    ios 处理内存警告

  • iOS 预编译指令

    一、简介 预编译指令在iOS 中的主要功能:1、宏定义2、条件编译3、文件包含4、错误、警告处理5、编译器控制 二...

  • Xcode常见报错锦囊

    此篇我将罗列出iOS开发中,Xcode编译器出现的常见错误,警告视同为错误处理。(序号只做排序用) 1.死存储问题...

  • Xcode中忽略编译器警告

    总有一些编译器警告⚠️看起来很烦 如何确定要忽略的警告类型

  • #pragma GCC diagnostic 编译器警告

    方法弃用警告 中间代码是弃用代码只支持iOS7-iOS8,当前编译器会报黄色警告。当我们要支持不同版本时,为了去掉...

  • iOS去掉烦人的警告

    在iOS开发过程中,偶尔会碰到一些编译器警告,如果能够确定该警告不会影响到程序的正常运行,则可以手动告诉编译器忽略...

  • 处理performSelector编译器警告

    如果selector是在运行时才确定的,performSelector时,若先把selector保存起来,等到某事...

  • iOS - 警告处理

    一、 在Xcode8下兼容iOS10,我们会在控制台遇到下面这个警告错误: 解决方法: 进入Product -> ...

网友评论

      本文标题:iOS如何处理编译器警告⚠️

      本文链接:https://www.haomeiwen.com/subject/qfwdeftx.html