去掉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.pswp.cn/news/260582.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260582.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260582.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

富士施樂3065掃描教程_全面支持IT國產化 富士施樂70款機型獲統信UOS兼容認證

最近&#xff0c;富士施樂&#xff08;中國&#xff09;有限公司宣布共70款機型獲得國產操作系統統信UOS的兼容認證&#xff0c;其中包括新一代ApeosPort旗艦智能型數碼多功能機、多功能一體機/打印機、生產型數字印刷系統。這是繼獲得中標麒麟、龍芯和兆芯兼容認證后&#xff…

Flash系統字體中的中文字體問題

在flash中使用as來改變textfield的中文字體 &#xff0c;遇到發布版本超過10.2的時候&#xff0c;會悲劇&#xff01;不支持使用中文名稱來改變字體。 解決辦法&#xff1a;1&#xff09;使用英文名稱。2&#xff09;發布的版本低于10.2 label:TextField new TextField(); for…

第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、語法限制不太嚴度格&…

js/css 檢測移動設備方向的變化 判斷橫豎屏幕

js&#xff0f;css 檢測移動設備方向的變化 判斷橫豎屏幕 方法一&#xff1a;用觸發手機的橫屏和豎屏之間的切換的事件 window.addEventListener("orientationchange", function() { // 宣布新方向的數值 alert(window.orientation); }, false); // 方法二&#xff1…

第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, …

SetFormFullScreen()窗體全屏顯示

{讓窗體全屏顯示} //SetFormFullScreen(Form1); procedure SetFormFullScreen(Form:TForm); begin Form.BorderStyle:bsNone; Form.WindowState:wsMaximized; Form.Color:clBlack; end; 通過 為知筆記 發布轉載于:https://www.cnblogs.com/xe2011/archive/2012/07/26/2609327.h…

表示自己從頭開始的句子_微信拍一拍后綴幽默回復有趣的句子 拍了拍唯美內容文案...

閱讀本文前&#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 的…

windows驅動開發詳解學習筆記

1. windows驅動分兩類&#xff0c;NT式驅動和WDM驅動&#xff0c;后者支持即插即用&#xff1b; 2. DriverEntry是入口函數&#xff0c;傳入參數&#xff1a;pDriverObject由IO管理器傳入&#xff1b; 3. WDM驅動中&#xff0c;AddDevice創建設備對象&#xff0c;由PnP管理器調…

第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;意味…

OpenGL編程低級錯誤范例手冊

看到一篇OpenGL編程的錯誤總結&#xff0c;對我初學來說應該比較有用&#xff0c;先保留&#xff0c;嘿嘿... 謝謝原文作者的貢獻&#xff1a;http://www.cnitblog.com/linghuye/archive/2005/08/13/1845.html 1.沒有glDisable(GL_TEXTURE_2D),導致基本幾何作圖全部失敗。 2.鏡…

C/C++ 中變量的聲明、定義、初始化的區別

今天突然思考到這樣的一個問題&#xff0c;發現已經在學習或者編寫程序的時候壓根就沒有注意到這些&#xff0c;經過比較這些還是有很大的區別的。 int i;//聲明 不分配地址空間 int j1&#xff1b;//轉載于:https://www.cnblogs.com/kuoyan/p/3687391.html

使用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;那么使用一款高效的連接工具就很有必要。這次我們來點評一下…