一、概述:Debug模式下输出日志,Release模式下自动屏蔽日志输出。通过宏定义实现。
二、代码如下:
#ifndef __OPTIMIZE__
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define DLog(...)
#endif
三、解释:
1.__OPTIMIZE__:在Debug模式下,才会有此宏定义。意思就是在优化的过程中,即Debug模式。
2. __PRETTY_FUNCTION__:通过__PRETTY_FUNCTION__可以打印出Log所在类名-函数。
3. __LINE__:标识符_ _ _LINE_ _ _的内容是当前被编译代码行的行号。