不管如何,工程与代码必须保持适度的整洁与优雅。之前就有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 连接