美文网首页
#pargma 处理警告

#pargma 处理警告

作者: 若水water | 来源:发表于2021-01-24 17:57 被阅读0次

    pragma 本质上是声明,常用的功能就是注释,尤其是给Code分段注释。它还有一个强大的功能就是处理编译器警告。在iOS 开发中,会遇到一些系统方法弃用警告⚠️,循环引用,未使用的变量之类的警告。我们可以使用#pragma 声明来防止编译器报警告。

    基本格式

    clang diagnostic 是#pragma的一个常用命令。

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-相关命令"
    //你自己代码
    #pragma clang diagnostic pop
    

    1、未使用的变量警告⚠️

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wunused-variable"
    NSInteger variableValue; 
    #pragma clang diagnostic pop
    

    2、方法弃用警告⚠️

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wdeprecated-declarations"
    #pragma clang disgnostic pop
    

    3、不兼容指针类型

    #pragma clang diagnostic push   
    #pragma clang diagnostic ignored "-Wincompatible-pointer-types"  
       //  
    #pragma clang diagnostic pop
    

    4、循环引用⚠️

    #pragma clang diagnostic push  
    #pragma clang diagnostic ignored "-Warc-retain-cycles" 
       //循环引用  
    #pragma clang diagnostic pop
    

    5、内存泄漏警告⚠️

    #pragma clang diagnostic push  
    #pragma clang diagnostic ignored   "-Warc-performSelector-leaks"
        //内存泄漏警告
    #pragma clang diagnostic pop
    

    6、未使用default⚠️

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wcovered-switch-default"
    //    switch (style) {
    //        case UITableViewCellStyleDefault:
    //        case UITableViewCellStyleValue1:
    //        case UITableViewCellStyleValue2:
    //        case UITableViewCellStyleSubtitle:
    //            // ...
    //        default:
    //            return;
    //    }
    #pragma clang diagnostic pop
    
    参考链接
    1. http://nshipster.cn/pragma/
    2. http://nshipster.com/clang-diagnostics/
    3. http://fuckingclangwarnings.com/

    相关文章

      网友评论

          本文标题:#pargma 处理警告

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