clang diagnostic的使用

clang diagnostic的使用 - CSDN博客

使用格式大致如下:


#pragma clang diagnostic push

#pragma clang diagnostic ignored "-相关命令"

    //需要操作的代码

#pragma clang diagnostic pop


栗子1:忽略弃用的警告️



//方法弃用告警   

#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


栗子2:忽略不兼容指针类型️


//  不兼容指针类型

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wincompatible-pointer-types"

    //

#pragma clang diagnostic pop


栗子3:循环引用️


break the retain cycle.

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Warc-retain-cycles"

//    self.completionBlock = ^ {

//        ...

//    };

#pragma clang diagnostic pop


栗子4:未使用变量 ️


// 未使用变量 

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wunused-variable"

    int a;

#pragma clang diagnostic pop


栗子5:未使用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

你可能感兴趣的:(clang diagnostic的使用)