美文网首页
消除Xcode编译警告

消除Xcode编译警告

作者: 碧霄问鼎 | 来源:发表于2015-09-23 15:18 被阅读491次

最近项目做完了,开始进行优化,第一件事就是消除编译警告。编译警告虽然不会导致项目崩溃,但是看着烦。一边消除一边记录下。

1、属性声明问题


源代码长这个样子:

@property (nonatomic) id value;

很明显是缺省属性声明的问题,警报的意思就是说:没有明确的指明这个属性是assignretain,还是copy,现在编译器默认这是 assign 类型的,但这对于id这种non-GC类型的变量不适用。查看下这里代码的需求,发现这个地方应该用strong,添加上strong属性后,警告消失。

2、类型转换的姿势不对


可以使用Xcode提示的那样进行修改,但建议把前面的格式化符号改为 %zd,即是这个样子:

NSString *str = [NSString stringWithFormat:@"%zd", i];

这样表示一个size_t值(sizeof返回的类型),而不是强制转换,就不会存在丢失精度什么问题了。(个人的理解,如果不对,望指正)

3、方法的返回的类型,与方法定义的类型不一致。如是枚举型,但定义的时候定义的是NSUInteger

将返回值类型修改为枚举型即可。

4、.h 中声明方法的参数类型和.m实现时方法的参数类型不一致

这是个非常蠢的问题,统一一下就好了。

5、README,LICENCE,gitkeep文件不能编译的警告,像是这个样子:

删掉对应文件就好了。

6、百度地图的警告

警告提示的是百度 BaiduMapAPI.framework 框架里面使用雷达的几个类支持的最低系统版本是 iOS8.2,而我门开发的App是从 iOS7 开始适配的,暂时道行不够,这个几个警告表示无可奈何。(如果你有解决方案,还请告知,感激不尽)

7、参数类型传错了

这里需要一个 BOOL类型,但是传了一个控制器类型的,竟然没有崩溃😂,醉了。

8、使用了已经被弃用的 API

解决方案:换成提示让使用的 API。

这次解决编译警告遇到的问题就这么多,以后如果再遇见其它的,再添加。

下篇见~

相关文章

  • 消除Xcode编译警告

    最近项目做完了,开始进行优化,第一件事就是消除编译警告。编译警告虽然不会导致项目崩溃,但是看着烦。一边消除一边记录...

  • iOS编译警告

    iOS编译警告-消除方法参数检查相关的警告 iOS编译警告-消除注释中的警告

  • #pragma

    1.注释 消除编译警告 各种警告

  • Xcode 消除警告

    1.注释警告 2.查看警告类型 得到警告类型 如: -Wunused-variable 再w 后面加 no- 进行...

  • xcode消除警告

    本人有一点小小的强迫症,那就是,项目中,不想看到警告.没办法的是,技术不行,只能一点一点的积累了.这个会长期更新....

  • Xcode消除警告

    1、warning: no rule to process file '*.h' of type sourceco...

  • Xcode 消除警告

    在警告处插入一下代码 获取到警告的类型 先编译,编译完成后如下图oc_warn_cancle_01.png 筛选完...

  • 消除Xcode警告(OC警告)

    1.CocoaPods警告消除 - inhibit_warnings => true 需要重新 pod insta...

  • Method definition for 'xxx&#

    Xcode编译报如下警告:Method definition for 'getCameraVersionWhenS...

  • Xcode关于警告AutomaticPreferredMaxLa

    Xcode关于警告AutomaticPreferredMaxLayoutWidth的消除方法 在iOS开发中,如果...

网友评论

      本文标题:消除Xcode编译警告

      本文链接:https://www.haomeiwen.com/subject/shvicttx.html