去掉xcode中警告的一些经验


1、编译时,编译警告忽略掉某些文件

      只需在在文件的Compiler Flags 中加入 -w 参数,例如:


2、编译时,编译警告忽略掉某段代码

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wmultichar"

   char b = 'df'; // no warning.

#pragma clang diagnostic pop

参考网址:http://stackoverflow.com/questions/7897429/ignore-all-warnings-in-a-specific-file-using-llvm-clang/8087544#8087544

3、编译时,analyse警告忽略掉某些文件

   只需在文件的Compiler Flags 中加入 -Xanalyzer -analyzer-disable-checker 参数,例如:

参考网址:http://stackoverflow.com/questions/7897429/ignore-all-warnings-in-a-specific-file-using-llvm-clang


4、编译时,analyse警告忽略掉某段代码

#ifndef __clang_analyzer__

      // Code not to be analyzed

#endif

  参考网址:http://stackoverflow.com/questions/5806101/is-it-possible-to-suppress-xcode-4-static-analyzer-warnings


5、项目使用arc以后,调用[someTarget performSelector:someAction]会报警告,有如下三种解决方法:

     a、当ARC检查警告时,忽略掉该段代码            

    #pragma clang diagnostic push    

   #pragma clang diagnostic ignored "-Warc-performSelector-leaks"

       [object performSelector:action];    

   #pragma clang diagnostic pop

   

    对于多处出现该警告时,可以定义一个宏来替换,比如

#define NoWarningPerformSelector(target, action, object) \

_Pragma("clang diagnostic push") \

_Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \

[target performSelector:action withObject:object]; \

_Pragma("clang diagnostic pop") \

      b、使用objc_msgSend函数进行替换

          #import <objc/message.h>

          objc_msgSend(object, action);


      c、在该代码文件的的Compiler Flags 中加入-Wno-arc-performSelector-leaks 参数


  参考网址:http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown/7073761#7073761


6、对于category覆盖类里面方法导致的警告,可能就要修改源代码了。因为苹果是不建议在category中覆盖类方法的,以为这种行为会产生未知的结果。

If the name of a method declared in a category is the same as a method in the original class, or a method in another category on the same class (or even a superclass), the behavior is undefined as to which method implementation is used at runtime.


参考网址:http://stackoverflow.com/questions/13388440/xcode-4-5-warns-about-method-name-conflicts-between-categories-for-parent-child

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/CustomizingExistingClasses/CustomizingExistingClasses.html  (Avoid Category Method Name Clashes段落)


7、对于某个类中存在方法名和系统某个类的方法名相同的情形,如果你在此类的静态方法中使用self来调用该方法,可能引发警告,所以尽量避免此种情况。比如

我自定义一个类 RequestTask 继承自NSObject,里面有个静态方法:

+ (id)taskWithRequest:(BaseRequest *)request delegate:(id)delegate


{


    return [[self alloc] initWithRequest:request delegate:delegate];


}

而在我的RequestTask确实有一个方法的定义为:

- (id)initWithRequest:(BaseRequest *)req delegate:(id)delegate;

理论上讲这个是没有任何问题的,但是编译器编译的时候却有一个警告,因为NSURLConnection有一个相同的方法,编译器认为我调用的是NSURLConnection类的该方法,参数类型不对报错。

所以此种情况,我们应该避免直接在静态方法中使用self调用类的实例方法。


8、当使用两个不匹配的enum类型或者enum类型默认也是会报警告的,此种情况可以通过直接强制类型转换解决,也可以在编译器中规避掉此种警告。例如:


9、当Enum类型和Enum类型中未定义的整形范围进行比较时,编译器也会给警告。此种解决方法目前查到的就是强制类型转化(如果有其他方式,请看到的ggjj告诉我一下,再此谢过了)

转载于:https://www.cnblogs.com/zsw-1993/p/4879405.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260582.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

富士施乐3065扫描教程_全面支持IT国产化 富士施乐70款机型获统信UOS兼容认证

最近&#xff0c;富士施乐&#xff08;中国&#xff09;有限公司宣布共70款机型获得国产操作系统统信UOS的兼容认证&#xff0c;其中包括新一代ApeosPort旗舰智能型数码多功能机、多功能一体机/打印机、生产型数字印刷系统。这是继获得中标麒麟、龙芯和兆芯兼容认证后&#xff…

第5章 Python 数字图像处理(DIP) - 图像复原与重建13 - 空间滤波 - 线性位置不变退化 - 退化函数估计、运动模糊函数

标题线性位置不变退化估计退化函数采用观察法估计退化函数采用试验法估计退化函数采用建模法估计退化函数运动模糊函数OpenCV Motion Blur在这一节中&#xff0c;得到的结果&#xff0c;有些不是很好&#xff0c;我需要再努力多找资料&#xff0c;重新完成学习&#xff0c;如果…

视觉感受排序算法

1. 快速排序 介绍&#xff1a; 快速排序是由东尼霍尔所发展的一种排序算法。在平均状况下&#xff0c;排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较&#xff0c;但这种状况并不常见。事实上&#xff0c;快速排序通常明显比其他Ο(n log n) 算法更快&…

python如何自定义函数_python如何自定义函数_后端开发

c语言特点是什么_后端开发 c语言特点是&#xff1a;1、语言简洁、紧凑&#xff0c;使用方便、灵活&#xff1b;2、运算符丰富&#xff1b;3、数据结构丰富&#xff0c;具有现代化语言的各种数据结构&#xff1b;4、具有结构化的控制语句&#xff1b;5、语法限制不太严度格&…

第5章 Python 数字图像处理(DIP) - 图像复原与重建14 - 逆滤波

标题逆滤波逆滤波逆滤波 逆滤波 图像的退化函数已知或者由前面的方法获取退化函数&#xff0c;则可以直接逆滤波 F^(u,v)G(u,v)H(u,v)(5.78)\hat{F}(u,v) \frac{G(u,v)}{H(u,v)} \tag{5.78}F^(u,v)H(u,v)G(u,v)​(5.78) F^(u,v)F(u,v)N(u,v)H(u,v)(5.79)\hat{F}(u,v) F(u, …

表示自己从头开始的句子_微信拍一拍后缀幽默回复有趣的句子 拍了拍唯美内容文案...

阅读本文前&#xff0c;请您先点击上面的“蓝色字体”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了。每天都会有分享&#xff0c;都是免费订阅&#xff0c;请您放心关注。注图文来源网络&#xff0c;侵删 …

HoloLens开发手记 - Unity之Tracking loss

当HoloLens设备不能识别到自己在世界中的位置时&#xff0c;应用就会发生tracking loss。默认情况下&#xff0c;Unity会暂停Update更新循环并显示一张闪屏图片给用户。当设备重新能追踪到位置时&#xff0c;闪屏图片会消失&#xff0c;并且Update循环还会继续。 此外&#xff…

运维学python用不上_不会Python开发的运维终将被淘汰?

简介 Python 语言是一种面向对象、直译式计算机程序设计语言&#xff0c;由 Guido van Rossum 于 1989 年底发明。Python 语法简捷而清晰&#xff0c;具有丰富和强大的类库&#xff0c;具有可扩展性和可嵌入性&#xff0c;是现代比较流行的语言。最流行的语言 IEEE Spectrum 的…

第5章 Python 数字图像处理(DIP) - 图像复原与重建15 - 最小均方误差(维纳)滤波

标题最小均方误差&#xff08;维纳&#xff09;滤波最小均方误差&#xff08;维纳&#xff09;滤波 目标是求未污染图像fff的一个估计f^\hat{f}f^​&#xff0c;使它们之间的均方误差最小。 e2E{(f−f^)2}(5.80)e^2 E \big\{(f - \hat{f})^2 \big\} \tag{5.80}e2E{(f−f^​)2…

入网许可证_入网许可证怎么办理,申请流程

移动通信系统及终端投资项目核准的若干规定》的出台&#xff0c;打开了更多企业进入手机业的大门&#xff0c;然而一些企业在关心拿到手机牌照后&#xff0c;是不是就是意味了拿到入网许可证&#xff0c;就可以上市销售。某些厂商认为:"手机牌照实行核准制&#xff0c;意味…

使用python matplotlib画图

本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/52577631 未经博主允许不得转载。 博主地址是&#xff1a;http://blog.csdn.net/freewebsys 1&#xff0c;关于 非常简单的画图类库。 简直就是matlab的命令了。 python设计都是非常简单的。 在使用pyt…

碧桂园博智林机器人总部大楼_碧桂园职院新规划曝光!将建机器人实训大楼、新宿舍、水幕电影等...

4月10日&#xff0c;广东碧桂园职业学院召开院务(扩大)会议&#xff0c;学院党政班子领导和相关负责人出席。会议集中观看了学院四期工程的规划区介绍&#xff0c;并就具体方案的可行性进行了研讨。在碧桂园集团董事局主席杨国强先生的带领下&#xff0c;碧桂园职院正紧随集团产…

第5章 Python 数字图像处理(DIP) - 图像复原与重建16 - 约束最小二乘方滤波、几何均值滤波

标题约束最小二乘方滤波几何均值滤波约束最小二乘方滤波 F^(u,v)[H∗(u,v)∣H(u,v)∣2γ∣P(u,v)∣2]G(u,v)(5.89)\hat{F}(u,v) \bigg[\frac{H^*(u,v)}{|H(u,v)|^2 \gamma |P(u,v)|^2} \bigg]G(u,v) \tag{5.89}F^(u,v)[∣H(u,v)∣2γ∣P(u,v)∣2H∗(u,v)​]G(u,v)(5.89) P(u,…

securecrt是什么工具_比较一下几款常用的SSH工具

WX众号&#xff1a;基因学苑Q群&#xff1a;32798724更多精彩内容等你发掘&#xff01;编者按工欲善其事&#xff0c;必先利其器。作为生物信息分析人员&#xff0c;每天都需要通过SSH工具远程登录服务器&#xff0c;那么使用一款高效的连接工具就很有必要。这次我们来点评一下…

华为手机如何调时间显示_华为手机照片如何出现时间地点天气,教你30秒,一学就会...

阅读本文前&#xff0c;请您先点击上面的“蓝色字体”&#xff0c;再点击“关注”&#xff0c;这样您就可以继续免费收到文章了。每天都会有分享&#xff0c;都是免费订阅&#xff0c;请您放心关注。 …

第5章 Python 数字图像处理(DIP) - 图像复原与重建17 - 由投影重建图像、雷登变换、投影、反投影、反投影重建

标题由投影重建图像投影和雷登变换 Johann Radon反投影滤波反投影重建由投影重建图像 本由投影重建图像&#xff0c;主要是雷登变换与雷登把变换的应用&#xff0c;所以也没有太多的研究&#xff0c;只为了保持完整性&#xff0c;而添加到这里。 # 自制旋转投影图像# 模拟一个…

day12-nginx

nginx 前台服务器并发大 安装nginx useradd –s /sbin/nologin nginx tar xf nginx-xxx.tar.gz yum install –y gcc pcre-devel openssl-devel ./configure --prefix/etc/nginx --usernginx --groupnginx --with-http_ssl_module --http-log-path/var/log/nginx/access.…

python args_Python可变参数*args和**kwargs用法实例小结

本文实例讲述了Python可变参数*args和**kwargs用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 一句话简单概括&#xff1a;当函数的参数不确定的时候就需要用到*args和**kwargs&#xff0c;前者和后者的区别在于&#xff0c;后者引入了”可变”key的概念&#xf…

php调用c++

1.在/var/www中建个测试文件夹 cpp 在此文件夹中新建c文件sort.cpp&#xff0c;如下 编译并测试执行通过进行以下步骤。 2.在cpp文件夹下新建文件cpp.html&#xff0c;如下 3.同样在cpp下建php文件cpp.php&#xff0c;如下 保存。 4.程序执行如下 提交后&#xff1a; 转载于:ht…

AI+无线通信——Top7 (Baseline)分享与总结

从浩哥那里转载 https://wanghao.blog.csdn.net/article/details/115813954 比赛已经告一段落&#xff0c;现在我们队兑现承诺&#xff0c;将比赛方案开源给大家&#xff0c;互勉互助&#xff0c;共同进步。 队伍介绍 我们的队伍名是Baseline&#xff0c;我们因分享Baseline…