NSLog的调试技巧

问题

在开发中,难免会进行NSLog调试,但是我们知道NSLog非常耗性能,在程序发布的时候最好把NSLog都去掉,但是这样一来工程量比较大

解决方案

1.项目中创建pch文件,将NSLog定义为宏

1
2
3
4
5
6
7
8
9
10
11
// 保证 #ifdef 中的宏定义只会在 OC 的代码中被引用
// 否则,一旦引入 C/C++ 的代码或者框架,就会出错!
#ifdef __OBJC__
#ifdef DEBUG
#define NSLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define NSLog(...)
#endif
#endif

2.在DEBUG版本下,当我们调试程序的时候,输出信息如下图

3.当项目打包上线时,会将DEBUG更改为release,当再次运行程序的时候,控制台将不会再输出信息

Product–>Scheme–>Editor Scheme

这个人很帅<br>他什么都不想说<br>