iOS错误&解决

消除编译器警告的方法

2018-10-17  本文已影响0人  hotbox

在iOS 不断的升级中,我们经常会遇到一些旧的api或者是属性已经弃用,系统提示采用新的API或者属性替换,可是为了版本上的兼容我们可能还是会用一些就的API或属性,这是系统编译出现黄色的警告,有强迫症的同学看了会非常不舒服。那么如何去掉呢?

1、如果是警告(PerformSelector may cause a leak because its selector is unknown)

    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Warc-performSelector-leaks"
     //这里是弃用的API调用
    #pragma clang diagnostic pop

2、如果是警告('dismissModalViewControllerAnimated:' is deprecated: first deprecated in iOS 6.0)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated"
//这里是弃用的属性
#pragma clang diagnostic pop

3、如果是警告(Null passed to a callee that requires a non-null argument)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnonnull"
//这里是弃用的属性
#pragma clang diagnostic pop

4、如果是警告(Undeclared selector 'DWJQkeyboardWillShow:')

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wundeclared-selector"
//这里是弃用的属性
#pragma clang diagnostic pop

5、如果是警告(Auto property synthesis will not synthesize property 'superColor'; it will be implemented by its superclass, use @dynamic to acknowledge intention)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-property-synthesis"
//这里是弃用的属性
#pragma clang diagnostic pop

6、如果警告类似('automaticallyAdjustsScrollViewInsets' is deprecated: first deprecated in iOS 11.0 - Use UIScrollView's contentInsetAdjustmentBehavior instead)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
//这里是弃用的属性
        self.automaticallyAdjustsScrollViewInsets=YES;
#pragma clang diagnostic pop
上一篇下一篇

猜你喜欢

热点阅读