在调试的时候能够把所在的类名、方法名、行数等相关信息也打印出来,更方便调试,更新一下宏定义函数
以前一直以为用在调试的时候用NSLog无所谓,可是接口有不少坑的时候就须要很是多的打印,而后就愈来愈多的无用信息打印出来,严重影响了后面的调试,并且只是但愿在调试的时候打印,发布的时候不须要打印,而后就记得好像能够用宏定义来解决。测试
找了一下,发现其实用宏定义很是简单,几句话搞定,首先在pch文件添加下面的宏定义便可:spa
//...:表示宏定义的可变参数3d
// __VA_ARGS__:表示函数里面的可变参数调试
#ifdef DEBUGorm
#define FuLog(...) NSLog(@"%s 第%d行 \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])blog
#else接口
#define FuLog(...)string
#endifit
在须要用NSLog()的地方能够用FuLog()替换,这样的话在Debug的模式就能够打印,在Release的模式下就不会打印
如何测试成不成功呢?按下图切换调试便可
点击项目名,而后选择Edit Scheme
切换模式调试,看看是否成功