OC 開發之NSLog使用技巧

2021-10-06 22:25:44 字數 893 閱讀 8753

我們可以在發布版本前先把所有nslog語句注釋掉,等以後要除錯時,再取消這些注釋,這實在是一件無趣而耗時的事!還好,還有更優雅的解決方法,就是在專案的prefix.pc**件裡加入下面一段**,加入後,nslog就只在debug下有輸出,release下不輸出了。

在-prefix.pch(pch全稱是「precompiled header」,也就是預編譯標頭檔案,該檔案裡存放的工程中一些不常被修改的**,比如常用的框架標頭檔案,這樣做的目的提高編譯器編譯速度。我們知道當我們修改乙個工程中某個檔案**時候,編譯器並不是重新編譯所有所有檔案,而是編譯改動過檔案的,假如pch中某個檔案修改了,那麼pch整個檔案裡包含的的其他檔案也會重新編譯一次,這樣就會消耗大量時間,所以它裡面新增的檔案最好是是很少變動或不變動的標頭檔案或者是預編譯的**片段;)檔案中新增

#ifdef debug  

#define nslog(...) nslog(__va_args__)

#define debugmethod() nslog(@"%s", __func__)

#else

#define nslog(...)

#define debugmethod()

#endif

上段**的意思就是 用巨集指令做乙個判斷,如果debug為真,則編譯#ifdef到#endif巨集定義,否則編譯器就不編譯;

這個debug在哪設定呢,

在 "target > build settings > preprocessor macros > debug" 裡有乙個"debug=1"。

設定為debug模式下,product-->scheme-->schemeedit scheme

設定build configuration成debug時,就可以列印nslog了。

NSLog使用技巧

前提 在xcode做開發除錯時往往需要列印一些除錯資訊做debug用,大家知道當列印資訊的地方多了之後在模擬器上跑可能不會有什麼問題,因為模擬器用的是電腦的硬體但是當應用跑在裝置上時這些輸出語句會在很大程度上影響應用的效能,針對這種問題可以寫一些巨集來控制這些除錯資訊的輸出。在 prefix.pch...

NSLog使用技巧

新建 pch 檔案。在 building setting 中搜尋 prefix header 寫入 專案名稱 pch檔名 在 pch 檔案中新增如下 ifdef objc ifdef debug define nslog fmt,nslog s line d fmt pretty function ...

oc學習筆記(六)物件導向 開發技巧

一 練習題兩點間距離,和判斷兩個圓是否相交 5.設計乙個類point2d,用來表示二維平面中某個點 1 屬性 double x double y 2 方法 屬性相應的set和get方法 設計乙個物件方法同時設定x和y 設計乙個物件方法計算跟其他點的距離 設計乙個類方法計算兩個點之間的距離 3 提示 ...