1. 一般項目中我的NSLog會在Prefix.pch文件添加如下代碼,已保證在非調試狀態下NSLog不工作
#ifdef DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...)
#endif
2. 在項目中如果沒做任何處理的話會輸出如下信息,說實話,看的有點難受
2016-09-01 10:42:16.787 test_tabBarController[19226:1694499] <UIView: 0x7fc430d3db20; frame = (0 0; 414 736); autoresize = W+H; layer = <CALayer: 0x7fc430d12ba0>>
出現時間戳的
我們修改下宏如下:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...)
#endif
經過上面的修改我們可以輸出 純凈的內容如下:
去掉時間戳了的
3.我們可以用更好的版本我推薦用這個打印我們的日志:
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...)
#endif
這樣我們的輸出就是這樣:
他可以打印出行號 和 對應的class類名 很強大有木有
如果本文幫到了你,敬請給出喜歡?? 感謝你的小手? 關注作者?? 后續更新iOS刀法
傳送門