iOS中手动忽略编译警告

  • 忽略警告
    1
    2
    3
    4
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "相关命令"
    // 这是是出现警告的代码
    #pragma clang diagnostic pop

常见的命令有
1.方法废弃

1
2
3
4
#pragma clang diagnostic push  
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
//废弃的方法
#pragma clang diagnostic pop

2.不兼容指针类型

1
2
3
4
#pragma clang diagnostic push   
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
//
#pragma clang diagnostic pop

3.未使用变量

1
2
3
4
#pragma clang diagnostic push     
#pragma clang diagnostic ignored "-Wunused-variable"
int a;
#pragma clang diagnostic pop

4.

1
2
3
4
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[observer performSelector:selector withObject:notification];
#pragma clang diagnostic pop

如果需要每个属性或每个方法都去指定nonnull和nullable,是一件非常繁琐的事。苹果为了减轻我们的工作量,专门提供了两个宏:

1
2
3
NS_ASSUME_NONNULL_BEGIN

NS_ASSUME_NONNULL_END

本文标题:iOS中手动忽略编译警告

文章作者:谷春丽

发布时间:2019年08月15日 - 14:08

最后更新:2019年08月24日 - 14:08

原始链接:https://guchunli.github.io/2019/08/15/iOS中手动忽略编译警告/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------