出于某种原因,在我的开发周期中,我发现自己删除了我插入的NSLog语句以帮助调试.我真的不知道为什么我有这个习惯,我就是这样做的.
有时,在开发过程中,我会发现我遇到了以前遇到过的问题,然后最终重新添加了一个旧的NSLog语句.然后再删除它.
是否有任何理由删除NSLog语句?根据我离开一两次的经历,没有引起任何应用拒绝.而且,据我所知,当应用程序处于分发状态时,它们不会记录任何内容(如果我错了,请纠正我),它们似乎并没有伤害任何东西.是否有我应该担心的性能影响?
con*_*are 21
我所做的是添加一个只在我处于调试模式时才进行日志记录的宏.把它放在你的<APP_NAME>_Prefix.pch文件中
#ifdef DEBUG
#define DebugLog( s, ... ) NSLog( @"<%p %@:%d (%@)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, NSStringFromSelector(_cmd), [NSString stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DebugLog( s, ... )
#endif
Run Code Online (Sandbox Code Playgroud)
作为常规日志的奖励,您将获得文件名,方法名称和行号.
然后在项目信息中,仅在调试版本下添加它.它User-defined在GCC_PREPROCESSOR_DEFINITIONS下的部分中:
DEBUG
然后使用DebugLog替换项目中的任何NSLog(它采用与NSLog相同的args),您不必担心实时释放调试语句.
在回答您的问题时,日志记录可能会降低应用程序的性能,除非您需要它们来帮助调试,我会将它们排除在外.