这篇是强化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的具体位置然后进行其他操作, 比如注释掉或者更改输出内容等!
本文介绍了一种改进NSLog输出的方法,通过宏定义的方式,在输出信息中加入函数名和行号,便于快速定位代码位置。这种方法特别适用于项目开发中频繁使用NSLog的情况。

1075

被折叠的 条评论
为什么被折叠?



