关于 Xcode NSLog 输出不全的问题

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容