iOS 技术篇:__VA_ARGS__实现自定义NSLog
系统的NSLog 我个人觉得有bug时,没准确的说明哪一行出现的问题,所以为了方便自己开发查找问题,附上自己的NSLog 创建定义方式:
1:在创建好的pch文件里 配置:
2:在pch文件里添加上这样的代码(为方便使用,代码可以直接复制,就不用截图了):
#define DebugLog(s,...) NSLog(@"%s第(%d)行:%@",__FUNCTION__,__LINE__,[NSString stringWithFormat:(s),##__VA_ARGS__])
这里讲解下: 在宏定义里的参数含义
# 参数转换成字符串
__VA_ARGS__ 是一个可变参数的宏,实际实现方式就是参数列表的最后一个参数为省略号(也就是三个点)
##__VA_ARGS__ 当可变参数的个数为0时,这里的##起到把前面多余的","去掉的作用,否则会编译出错
3:大功告成。
看看输出的结果 是不是比以前更加清晰明了?!
-[ViewController setup]第(34)行:AAA,( 1, 2, 3 )