ios開發過程中,偶爾會碰到一些編譯器警告,一般來說這些警告很具有參考價值 ,需要處理以增強**的健壯性。但有時,遇到不同版本的ios方法棄用警告、或dynamic resolution/blinding會遇到沒有定義方法實現警告、未使用的變數等等,如果能夠確定該警告不會影響到程式的正常執行,則可以手動告訴編譯器,區域性加入或關閉。
clang提供了我們自己加入警告或者暫時關閉警告的辦法。
clang常用的忽略警告型別:
#pragma clang diagnostic push
//1、使用未宣告方法
#pragma clang diagnostic ignored "-wundeclared-selector"
//2、忽略在arc 環境下performselector產生的 leaks 的警告
//#pragma clang diagnostic ignored "-warc-performselector-leaks"
//3、宣告的變數未使用
#pragma clang diagnostic ignored "-wunused-variable"
// 4、廢棄掉的方法
#pragma clang diagnostic ignored "-wdeprecated-declarations"
//5、 方法定義未實現
#pragma clang diagnostic ignored "-wincomplete-implementation"
//6、引數格式不匹配
#pragma clang diagnostic ignored "-wformat"
//7、不會執行的**
#pragma clang diagnostic ignored "-wunreachable-code"
//8、不相容的指標型別
#pragma clang diagnostic ignored "-wincompatible-pointer-types"
//9、迴圈引用
#pragma clang diagnostic ignored "-warc-retain-cycles"
//10、記憶體洩露
#pragma clang diagnostic ignored "-warc-performselector-leaks"
#pragma clang diagnostic pop
當然,也可以在pch等具有大範圍作用域的標頭檔案中包含:
#pragma clang diagnostic ignored "警告名稱"
如果剔除了push與pop 則後面所有的**都具有強制消除警告作用
iOS記憶體警告
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!我們都知道在移動裝置上很多資源都是比較緊缺的,尤其時記憶體,通常都比較小,iphone4也才只有512mb。而且ios4.0以後還支援了多工,這個問題就更加突出了。因此我們在平時設計程式的時候要注意管理好記憶體,減少不必要的開銷,謹防洩露。由於寫的...
iOS警告收集
1.出現 unuer 解決 pragma clang diagnostic push pragma clang diagnostic ignored wunused variable 這裡是會報警告的 weakself pragma clang diagnostic pop 2.too many p...
iOS 消除警告總結
1 method x in protocol not implemented 這個警告是說未實現介面中的 x方法,實現這個方法即可。2 expression result unused 是呼叫了非空返回值的方法,可在呼叫方法前加void可消除警告。3 incompatible integer to ...