iOS开发实战tips--强化NSLog的输出

前言
这篇是强化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>

简单的一个宏定义把函数名和行号都打印出来,这样找出这条输出语句就so easy啦! 效果图如下


总结:在项目真实开发中NSLog都是自定义的,既然都是自定义的加上__FUNCTION__ and __LINE__ 参数可以强化NSLog的输出, 比如上面那个效果图main函数47行打印了一条helloworld.就可以很快的定位到这个log的具体位置然后进行其他操作, 比如注释掉或者更改输出内容等!
posted @ 2015-11-23 22:34  张孝平  阅读(147)  评论(0编辑  收藏  举报