立即删除Xcode中的所有NSLog

时间:2012-10-12 07:28:49

标签: xcode logging

我目前正在为练习创建一个演示绘图和图像编辑应用程序。创建了一些自定义视图并使用draw rect创建了我的绘图。事情是我继续写NSLogs经常检查我的点和其他对象的内容,我不删除其中的许多,因为我一次又一次地需要它们。但是观察到原木正在耗费处理时间并使一些绘图过程滞后。

我的问题是,xcode中是否有任何方法可以在启动应用程序时立即删除所有NSlog,并在测试时再次添加它们。

3 个答案:

答案 0 :(得分:1)

做这样的事......

点击Command + Shift + F

选择Replace

enter image description here

NSLog替换为//NSLog

不太好的解决方案,但仍然有效! :)

答案 1 :(得分:0)

您知道的一种方法是使用xcode中的查找和替换选项。
即。比如说你需要删除你在整个项目中写的所有NSLog 在整个项目(cmd + shift + F)中查找 NSLog关键字,然后将其替换为 // NSLog 。这将 评论 输出您编写的所有NSLog 当您需要取消注释日志时,请执行相反的操作 即在整个项目(cmd + shift + F)中查找 // NSLog关键字,然后将其替换为 NSLog 。这将取消注释输出您编写的所有NSLog,并再次在控制台中打印。 您也可以使用(cmd + F)代替(cmd + shift + F)来为特定文件执行此操作。 但不确定xcode是否真的有一个合适的方法来做到这一点。

答案 2 :(得分:0)

找到了一个更好的方法,通过定义你的自定义NSLog,使用这样的宏:   MYLog(@“学生数组 - >%d”,[studentArray计数]);

app-prefix.h 文件中,该文件包含项目中所有文件的公共标题,以这种方式定义'MYLog'宏 : -

#ifdef DEBUG

#define MYLog(f,...)NSLog(@“<%@ :(%d)>%@”,[[NSString stringWithUTF8String: _FILE _] lastPathComponent], _LINE _,[NSString stringWithFormat:(f),## _VA_ARGS _])

的#else

#define MYLog(f,...)

#ENDIF

因此,当您需要测试时,将项目置于调试模式,当您需要在没有日志的情况下运行时,将项目置于发布模式。简单.. ps FILE AND LINE是预处理器执行的宏,用于打印日志所在的文件名和行号。尝试一下..