使用DebugLog()而不是NSLog()

时间:2013-07-15 07:54:25

标签: ios

我想使用DebugLog()来打印值而不是NSLog()。我相信DebugLog()更有效率。但我无法在我的项目中使用它(不会出现在提示中)。我相信我们必须在Build设置中设置一些内容。有没有人对此有任何想法?

感谢。

3 个答案:

答案 0 :(得分:8)

Debug-Log()不是objective-c中支持的方法,如果你想自己实现它,可以这样做:

#ifdef DEBUG
#define DebugLog(s, ...) NSLog(s, ##__VA_ARGS__)
#else
#define DebugLog(s, ...)
#endif

从这里采取:

DebugLog Format string is not a string literal

答案 1 :(得分:1)

#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#   define DLog(...)
#endif

答案 2 :(得分:-2)

仅为调试版本调用NSLog

#ifdef DEBUG
    NSLog("Debugging");
    //or any other statement
#endif

(仅当您的方案中的构建配置为“debug”时才会调用此方法)