不管如何,工程與代碼必須保持適度的整潔與優雅。之前就有Treat Warning as error
的觀點,一些IDE都有內置支持這一選項。Xcode戳這裏。html
但話分兩頭,對於某些長期不會更改或者第三方庫的Warning,咱們應該及時地將其屏蔽,以避免將重要的Warning淹沒。ios
#pragma clang diagnostic ignored
segmentfault
clang能夠手動屏蔽warning,具體方法以下:xcode
#pragma clang diagnostic push #pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation" //your code where might produce warnings #pragma clang diagnostic pop
引號中-Wobjc-protocol-method-implementation
表示你要屏蔽的Warning類型。
常見的Warning類型還有:-Wobjc-protocol-method-implementation
-Wunused-variable
-Wno-unused-parameter
ide
有時候咱們須要或者該Warning的編譯Flag,方法以下:ui
對該Warning點擊鼠標右鍵,選擇Reveal in Log
spa
如上圖所示,你能夠看到這個Warning的編譯Flag。3d
對於Cocoapods依賴的三方庫產生的Warning。在Podfile中加入以下內容:code
pod 'SSZipArchive', :inhibit_warnings => true
具體參考Cocoapods 文檔
Cocoapods dochtm
屏蔽一些特定的Warning
unused var
__unused int i;
目前這是我知道的兩種屏蔽Warning的兩種方案。固然,programmer必須嚴肅對待Warning。Treat warning as error!
原做寫於segmentfault 連接