iOS那点事儿iOS程序员的业余沙龙iOS开发知识小集

iOS 开发_消除警告小结:

2018-07-20  本文已影响94人  iOS_PM_WEB_尛鹏

【作者前言】:13年入圈,分享些本人工作中遇到的点点滴滴那些事儿,17年刚开始写博客,高手勿喷!以分享交流为主,欢迎各路豪杰点评改进!

1.应用场景:

程序在编译运行时会出现很多黄色的警告,强迫症的我们很讨厌这种警告,但有时候又怎么也改不掉,很烦人~~~

2.实现目标:

尽可能的去掉程序中无关紧要的黄色警告

3.代码说明:

警告信息一:

Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to '***'

/** 处理方式①:解决单独的警告文件中警告:
程序 -> TARGETS -> Build Phase -> 对应的文件.m -> 添加
-Wno-shorten-64-to-32
编译运行,单个警告消失?~完美!
*/

/** 处理方式②:全局去除该警告:
程序 -> TAGETS -> Build Settings -> Other Warning Flags -> 添加
-Wno-shorten-64-to-32
编译运行,全都该类型警告消失?~完美!
*/
疑惑??【-Wno-shorten-64-to-32】怎么来的???
image.png
警告信息二:

第三方库的警告,如果我们是使用Cocoapod管理第三方库的,在Podfile中添加这句话即可忽略警告: inhibit_all_warnings!

platform :ios,'6.0'
inhibit_all_warnings!

pod 'Reachability'
pod 'SDWebImage'
警告信息三:

target-action方法的调用时,经常会出现如下警告:PerformSelector may cause a leak because its selector is unknown

image.png
/** 用以下语句包裹被警告的语句:
[_target performSelector:_action withObject:self];
*/
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
        [_target performSelector:_action withObject:self];
#pragma clang diagnostic pop

上一篇下一篇

猜你喜欢

热点阅读