Xcode8.0中用NSLog打印长的 json 显示不全,我们可以采用printf来打印
1.一些比较实用的宏:
(1)FUNCTION ://获取当前方法名;
(2)func ://获取当前方法名;
(3)PRETTY_FUNCTION ://获取当前方法名;
(4)LINE ://获取当前所在行;
(5)FILE ://获取该文件的绝对路径;
(6)DATE ://获取当前日期;
(7)TIME ://获取当前时分秒;
(8)TIMESTAMP ://获取当前时间戳;
2.使用 printf 写成一个宏
#define NSLog(format, ...) printf("TIME:%s FILE:%s(%d行) FUNCTION:%s \n %s\n\n",__TIME__, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, __PRETTY_FUNCTION__, [[NSString stringWithFormat:(format), ##__VA_ARGS__] UTF8String])
3.由于 Log 打印耗用资源,所以再对其进行优化
1.debug 模式
#ifdef DEBUG
#define HHLog(format, ...) printf("\n%s HHLog %s(line%d) %s\n%s\n\n", __TIME__, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, __PRETTY_FUNCTION__, [[NSString stringWithFormat:(format), ##__VA_ARGS__] UTF8String])
#else
#define HHLog(format, ...)
#endif
2.Optimization Leve优化方式
#ifndef __OPTIMIZE__ //优化方式 Optimization Leve
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...){}
#endif
网友评论