我目前正在为练习创建一个演示绘图和图像编辑应用程序。创建了一些自定义视图并使用draw rect创建了我的绘图。事情是我继续写NSLogs经常检查我的点和其他对象的内容,我不删除其中的许多,因为我一次又一次地需要它们。但是观察到原木正在耗费处理时间并使一些绘图过程滞后。
我的问题是,xcode中是否有任何方法可以在启动应用程序时立即删除所有NSlog,并在测试时再次添加它们。
答案 0 :(得分:1)
做这样的事......
点击Command
+ Shift
+ F
选择Replace
将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是预处理器执行的宏,用于打印日志所在的文件名和行号。尝试一下..