开门见山
pragam 声明在Xcode中主要起两个作用:整理代码和处理编译器警告
整理代码
我们经常通过 #pragam mark - 来将代码分割成逻辑区块。这将使得代码整洁,干净。同时也易于我们阅读和查找。
处理编译器警告
黄色,到处都是黄色的警告,努力消除警告。但是某个警告又没法避免,那我能不能让它不提示警告呢?这时,用来抑制编译器警告的 #pragma 就派上用场了:
它的格式是什么呢?
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-相关命令"
// 程序段
#pragma clang diagnostic pop
常见的用法
1.消除方法弃用警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
if (self.activityIndicatorColor) {
color = self.activityIndicatorColor;
}
#pragma clang diagnostic pop
// 这是引用的第三方库HUD的一段代码。不用 #pragma 就会警告 activityIndicatorColor 过期。
2.消除指针类型不兼容警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
// 要消除警告的程序段
#pragma clang diagnostic pop
3.消除循环引用警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-retain-cycles"
// 要消除警告的程序段
#pragma clang diagnostic pop
4.消除变量未使用警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunused-variable"
// 要消除警告的程序段
#pragma clang diagnostic pop
更多的相关命令
http://fuckingclangwarnings.com
心情
一日之计在于晨