#pragma clang diagnostic ignored 作用
作为预处理指令,#pragma 在编译时进行计算。但它并不像如 #ifdef…#endif 之类的宏,#pragma 的使用方式不会改变你的应用运行时的行为。相反的,#pragma 声明主要由 Xcode 用来完成两个主要任务:整理代码和防止编译器警告。
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-需要忽略的命令"
// 可能会报警的代码。
#pragma clang diagnostic pop
常见的使用有:
1,忽略参数非空检查(”-Wnonnull”),我们的头文件这样定义:_Nullable
在我们的实现文件中,累的初始化方法:
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnonnull"
#pragma clang diagnostic pop
2,方法弃用告警(”-Wdeprecated-declarations”)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
#pragma clang diagnostic pop