NSLog使用技巧

在pch文件中加入以下代码,能避免发布环境下的输出打印,并且在开发环境下能简单清晰的查看打印信息。

#ifdef __OBJC__

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

#endif

首先简单介绍一下上面的宏定义:
"#ifdef _OBJC_ "中的宏定义保证只会在 OC 的代码中被引用,否则,一旦引入 C/C++ 的代码或者框架,就会出错!
"#ifdef DEBUG" 中的宏定义保证只在开发环境下进行宏的替换,而在发布环境下是无效的。

很多人在开发中都会使用宏替换来避免发布环境下的打印输出,非常简单,一般不会有人注意,但是我推荐的这种方式有几个小优点:
1.用NSLog替换原有打印,由于宏的优先性,这样可以替换项目中已有的NSLog。
2.(@"%s [Line %d] " fmt)的设置能在控制台输出打印的具体所在行,一目了然,方便查找。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。