iOS中的"NSLog"宏

在开发iOS应用时我们使用Log(…)来输出日志信息,就可以在发布应用的时候,一次性将NSLog语句移除(在调试模式下,才有定义DEBUG)

#ifndef PrefixHeader_pch
#define PrefixHeader_pch

// 保证 #ifdef 中的宏定义只会在 OC 的代码中被引用
// 否则,一旦引入 C/C++ 的代码或者框架,就会出错!
#ifdef __OBJC__

#ifdef DEBUG // 开发阶段-DEBUG阶段:使用NSLog
#define NSLog(fmt,...) NSLog((@"%s [Line %d] " fmt),__PRETTY_FUNCTION__,__LINE__,##__VA_ARGS__)
#else // 发布阶段-上线阶段:在Edit Scheme设置Build Configuration为Release
#define NSLog(...)

#endif

#endif /* PrefixHeader_pch */

这里为什么自定义Log名称还是用NSLog呢?原因有三
1.大家都习惯了使用NSLog,顺手
2.可能大家想,用NSLog会不会有问题呢?其实是没有问题的,我们自定义的宏的优先级会更高
3.install B

你可能感兴趣的:(iOS中的"NSLog"宏)