iOS开发实战tips--强化NSLog的输出
前言
简单的一个宏定义把函数名和行号都打印出来,这样找出这条输出语句就so easy啦! 效果图如下
![]()
这篇是强化NSLog的输出,因为在开发过程中,难免会有NSLog要打印,但一个项目NSLog用多了之后,
很难找出这个输出的NSLog在某一个位置.
举个例子,在这里有AController,BController,CController,DController,EController五个controller,而每个controller的viewDidLoad都增加一行一行NSLog(@"viewdidload")这样的输出,在某一天我想删除EController里的这句nslog,而对于一个新手往往不知道这行代码的具体位置在哪里.在此我分享一下强化NSLog的一个小tip.
可以在NSLog里输出是某一个类,某一个函数,并且在某一行调用~!
不多说,直接上代码
<span style="color:#ffcc66;">#ifdef DEBUG #define ZXPLog(format, ...) NSLog((@"[函数名:%s]" "[行号:%d] " format), __FUNCTION__, __LINE__, ##__VA_ARGS__); #else #define ZXPLog(format, ...); #endif</span>
总结:在项目真实开发中NSLog都是自定义的,既然都是自定义的加上__FUNCTION__
and __LINE__ 参数可以强化NSLog的输出, 比如上面那个效果图main函数47行打印了一条helloworld.就可以很快的定位到这个log的具体位置然后进行其他操作, 比如注释掉或者更改输出内容等!
作者:张孝平
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。