在調試的時候能夠把所在的類名、方法名、行數等相關信息也打印出來,更方便調試,更新一下宏定義函數
以前一直以爲用在調試的時候用NSLog無所謂,可是接口有不少坑的時候就須要很是多的打印,而後就愈來愈多的無用信息打印出來,嚴重影響了後面的調試,並且只是但願在調試的時候打印,發佈的時候不須要打印,而後就記得好像能夠用宏定義來解決。測試
找了一下,發現其實用宏定義很是簡單,幾句話搞定,首先在pch文件添加下面的宏定義便可:spa
//...:表示宏定義的可變參數3d
// __VA_ARGS__:表示函數裏面的可變參數調試
#ifdef DEBUGorm
#define FuLog(...) NSLog(@"%s 第%d行 \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])blog
#else接口
#define FuLog(...)string
#endifit
在須要用NSLog()的地方能夠用FuLog()替換,這樣的話在Debug的模式就能夠打印,在Release的模式下就不會打印
如何測試成不成功呢?按下圖切換調試便可
點擊項目名,而後選擇Edit Scheme
切換模式調試,看看是否成功