OC自定义日志 (Log)
只在debug的时候输出, release的时候不输出
#ifndef DEBUG
#define NSLog(...)
#endif
输出时, 输出函数(方法)名及行数
//类名及函数(方法)名
NSLog(@"%s", __func__);
NSLog(@"%s",__FUNCTION__);
NSLog(@"%s",__PRETTY_FUNCTION__);
//行数
NSLog(@"%d",__LINE__);
但是每次要写这些, 觉得很麻烦, 可以直接定义如下:
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define DLog(...)
#endif
只需要用 DLog(...)
就可以在输出需要信息的同时, 还输出所在类、 函数(方法)名以及行数。 在项目文件很多的时候, 有时候各种NSLog()内容很多很杂, 分不清各个NSLog()到底写在哪里, 可以用这种方法很快找到输出所在的位置, 很方便吧. (建议直接写进 .pch 文件中)
上面是看Stack Overflow上很多人推荐的 (个人也推荐上面的写法)
下面是看传智的视频学的,DLog(...)
输出的同时可以输出所在的类名和方法名
#ifdef DEBUG
#define DLog(...) NSLog(@"%s\n %@\n\n", __func__, [NSString stringWithFormat:__VA_ARGS__])
#else
#endif