(1)描述:NSLog模拟器上打印多了可能不会有什么问题,毕竟是电脑的硬件。
在手机设备上时输出语句多了会在一定程度上影响性能。
(2)解决:
// 如果release状态就不执行NSLog函数
#ifndef __OPTIMIZE__
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...) {}
#endif
/// Dlog
#ifdef DEBUG
# define DLog(fmt, ...) {NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);}
# define ELog(err) {if(err) DLog(@"%@", err)}
#else
# define DLog(...)
# define ELog(err)
#endif
写在预编译文件.pch中。
Edit Scheme --> Run --> Info -->
Build Configuration成Debug时,就可以打印nslog了。
设置Release,发布app版本的时候就不会打印了,提高了性能
这里说明下编译配置各个项的含义:
debug是为调试编译而配置的,release是为了发布编译而配置的。