前言
无论如何,工程与代码必须保持适度的整洁与优雅。以前就有Treat Warning as error
的观点,一些IDE都有内置支持这一选项。Xcode戳这里。
但话分两头,对于某些长期不会更改或者第三方库的Warning,我们应该及时地将其屏蔽,以免将重要的Warning淹没。
方法一
#pragma clang diagnostic ignored
clang可以手动屏蔽warning,具体方法如下:
#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
如何查看Warning的编译Flag
有时候我们需要或者该Warning的编译Flag,方法如下:
对该Warning点击鼠标右键,选择Reveal in Log
如上图所示,你可以看到这个Warning的编译Flag。
方法二
对于Cocoapods依赖的三方库产生的Warning。在Podfile中加入如下内容:
pod 'SSZipArchive', :inhibit_warnings => true
具体参考Cocoapods 文档
Cocoapods doc
方法三
屏蔽一些特定的Warning
unused var
__unused int i;
总述
目前这是我知道的两种屏蔽Warning的两种方案。当然,programmer必须严肃对待Warning。Treat warning as error!
参考
原作写于segmentfault 链接
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。