在iOS開發(fā)中顶考,我們難免會遇到使用廢棄的方法、變量沒有使用妖泄、未使用default等情況驹沿,這時候會產(chǎn)生對應(yīng)的警告??。對于有代碼潔癖的同學(xué)蹈胡,會感覺非常不爽渊季,想把警告消除掉,這時候就可以使用clang diagnostic來消除掉這些警告了罚渐。
使用格式大致如下:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-相關(guān)命令"
//需要操作的代碼
#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
- 循環(huán)引用??
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