NSLog输出格式
对象---------------------------------------------------------------------%@
int------------------------------------------------------------------------%d
short int shortType--------------------------------------------------%hi
long long int longlongType-------------------------------------%lli
float--------------------------------------------------------------------%.2f
double----------------------------------------------------------------%e
char--------------------------------------------------------------------%s
NSInteger-------------------------------------------------------------%ld
NSUInteger-----------------------------------------------------------%lu
CGFloat----------------------------------------------------------------%f
BOOL--------------------------------------------------------------------%d或%@
NSLog性能问题
它的运行会占用时间和设备资源。当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,
因为模 拟器用的是电脑的硬件,但是当应用跑在设备上时这些输出语句会在很大程度上影响应用
的性能,而且输出的数据也可能会暴露出App里的保密数据,所以发布正式版时需要把这些输出全
部屏蔽掉,针对这种问题可以写一些宏来控制这些调试信息的输出。
调试时打印log的宏文件
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define DLog(...)
#endif
#ifdef DEBUG
#define LOG(...) NSLog(__VA_ARGS__);
#define LOG_METHOD NSLog(@"%s", __func__);
#else
#define LOG(...);
#define LOG_METHOD;
#endif