iOS開發筆記26 NSLog不列印設定

2021-07-03 14:11:57 字數 748 閱讀 1647

ios開發-nslog不列印設定

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

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

#ifdef debug

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

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

#else

#define nslog(...)

#define debugmethod()

#endif 

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

這個debug在哪設定呢,

iOS開發筆記

1.預設快取策略下 useprotocolcachepolicy 對於靜態資源的訪問,請求頭會自動帶上 if none match if modified since 快取方面,響應頭帶有 last modified etag 兩個字段 儘管charles抓包結果為304,但是 urlsession...

ios開發筆記 4

title ios開發筆記 4 date 2016 02 21 01 11 55 categories ios tags ios,筆記 一般此問題 都是由inte ce build與 中iboutlet的連線所引起的。可能是在 中對iboutlet的名稱進行了修改,導致inte ce build中的...

我的ios開發筆記

這個星期開始學習 ios開發 由於本人記性不好 將知識點在這篇文章做乙個備忘 以下是網路上摘錄知識點的索引。json 我用的是jsonkit property synthesize property是乙個屬性訪問宣告,擴號內支援以下幾個屬性 1,getter gettername,setter se...