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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容