開門見山
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
心情
一日之計在于晨