开发之—如何处理NSLog
2017-03-05 本文已影响0人
voQuan
一路走来,总是来也匆匆,去也匆匆,感觉什么也没有留下,思考之下,想通过简书这个平台,记录下自己编程的一下点点滴滴,不论细巨!
我们在写程序的时候,经常会写很多的NSLog,当项目上架的时候,我们不需要它了,那我们是一个一个删掉吗?
当然不是了,通常我们会在写程序的时候,会建一个PCH文件,来定义NSLog,让其在Debug的时候打印,在Release的时候不打印。
那么怎么建PCH文件呢?
首先我们新建一个PCH文件

PCH建好之后就需要配置它,不然编译后会出现错误。
在Build Settings里面搜索Prefix header:

在Prefix Header中设置PCH路径:

设置好PCH之后我们在PCH里面开始自定义NSLog:
#ifdef __OBJC__
#ifdef DEBUG
#define NSLog(...)NSLog(__VA_ARGS__)
#else
#define NSLog(...)
#endif
如果项目要更清晰的显示打印的信息:
#ifdef __OBJC__
#ifdef DEBUG
#define NSLog(fmt, ...) NSLog((@"%s [Line %d] "fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define NSLog(...)
#endif
打印结果是这样的:

正确使用好PCH文件,可以带来很多便捷,最会希望大家能够在编程中享受编程!
这只是自己编程之余的一些小的总结,之前没怎么整理,现在正好不怎么忙,会在以后的时间总结自己编程的经验总结!不足之处,望大家指出!