我们可以利用编译器特性 使用clang来去除一些警告
基本结构:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
<# code #>
#pragma clang diagnostic pop
1.方法启用
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
2.分类重写主类方法
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
3.未使用变量
#pragma clang diagnostic ignored "-Wunused-variable"
4.循环引用
#pragma clang diagnostic ignored "-Warc-retain-cycles"
5.指针不兼容
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
6.方法弱引用
比如 performSelector 方法
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
7.补充
[还有很多,点击跳转->](http://fuckingclangwarnings.com/)
8.最后一定要注意注意在注意
注意:最好不用用这个方法来把所有的警告都这样忽视了,因为很多警告真的是警告。
本文介绍如何使用Clang编译器特性来抑制特定类型的警告信息,包括过时声明、未使用的变量、ARC相关的循环引用等问题,并提醒开发者谨慎使用此方法。
1万+

被折叠的 条评论
为什么被折叠?



