在Objective-C中,NSLog相当于C语言中的printf,常用于输出。
替代开发中Debug时的NSLog,release模式编译的程序不会用NSLog输出,而以debug模式编译的程序将执行NSLog的全部功能,在发布时不用再删除输出操作
#ifdef DEBUG
#define DebugLog( s, ... ) NSLog( @"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString
stringWithFormat:(s), ##__VA_ARGS__] )
#else
#define DebugLog( s, ... )
#else
#define DebugLog( s, ... )
#endif
注:把这些代码放到*Prefix.pch中最省事。可以把这段宏定义放到一个头文件中,再把这个头文件包含到*Prefix.pch中。
本文介绍了一种Objective-C中用于调试的技巧,通过自定义DebugLog宏来替代NSLog,实现不同编译模式下不同的输出行为,提高开发效率。
1627

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



