美文网首页
clang diagnostic的简单使用

clang diagnostic的简单使用

作者: 冰land | 来源:发表于2018-03-21 19:02 被阅读10次

    在iOS开发中,我们难免会遇到使用废弃的方法、变量没有使用、未使用default等情况,这时候会产生对应的警告⚠️。对于有代码洁癖的同学,会感觉非常不爽,想把警告消除掉,这时候就可以使用clang diagnostic来消除掉这些警告了。

    使用格式大致如下:

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-相关命令"
        //需要操作的代码
    #pragma clang diagnostic pop
    

    下面列举几个常用的例子:

    • 忽略弃用的警告⚠️
    //方法弃用告警    
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wdeprecated-declarations"
        UIAlertView *alertViewTmp = [[UIAlertView alloc]initWithTitle:@"" message:@"" delegate:nil cancelButtonTitle:@"" otherButtonTitles:@"", nil];
        [alertViewTmp show];
    #pragma clang diagnostic pop
    
    • 忽略不兼容指针类型⚠️
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wincompatible-pointer-types"
        YJLaunchAnimationViewController *vc = [[UIViewController alloc] init];
    #pragma clang diagnostic pop
    
    • 循环引用⚠️
    break the retain cycle.
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Warc-retain-cycles"
    //    self.completionBlock = ^ {
    //        ...
    //    };
    #pragma clang diagnostic pop
    
    • 未使用变量 ⚠️
    // 未使用变量   
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wunused-variable"
        int a;
    #pragma clang diagnostic pop
    
    • 未使用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
    
    拓展地址

    Which Clang Warning Is Generating This Message?

    相关文章

      网友评论

          本文标题:clang diagnostic的简单使用

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