#pragma clang diagnostic push
#pragma clang diagnostic ignored "相关命令"
// 有警告的代码
#pragma clang diagnostic pop
如果需要在宏定义中使用,可以使用下面的方法👇
_Pragma("clang diagnostic push")
_Pragma("clang diagnostic ignored \"相关命令\"")
// 有警告的代码
_Pragma("clang diagnostic pop")
附:常用命令
- 方法弃用警告
-Wdeprecated-declarations - 不兼容指针类型警告
-Wincompatible-pointer-types - 循环引用警告
-Warc-retain-cycles - 未使用变量警告
-Wunused-variable - 未使用default警告
-Wcovered-switch-default - selector中方法名不存在警告
-Wundeclared-selector - 代码永远不会执行警告
-Wunreachable-code - 终极大招:去除所有警告
-Weverything
另:在Build Settings中搜索Other Warning Flags
添加相应的命令(需要将以上的命令中的-W换成-Wno-)
即可一劳永逸,再也不会报相应的警告
因此不建议这样设置
如果一定要屏蔽警告,博主建议对单个文件屏蔽警告(只能屏蔽m文件)
在Build Phases中搜索文件名
添加相应的命令(需要将以上的命令中的-W换成-Wno-)
则该文件再也不会报警告