前提:在開發過程,我們為了調試經常要打印日志信息,但在發布版本時,打印信息是會消耗應用性能的。
情況一:初始化項目時,在預編譯文件PrefixHeader.pch中做判斷,把NSLog替換成自己的log,t調試時使用自己的log,代碼如下
ifdef DEBUG
define WSLog(...) NSLog(__VA_ARGS__)
else
define WSLog(...)
endif
情況二:項目已開發了大部分,并且使用NSLog打印日志信息。
ifdef DEBUG
define NSLog(...) NSLog(__VA_ARGS__)
else
define NSLog(...)
endif
兩端代碼的意思是,用宏定義做判斷,如果是DEBUG模式,則編譯NSLog/WSLog;如果是RELEASE模式,則不做編譯NSLog/WSLog。