NSLog其实是一个非常损耗性能的东西,当你在开发了很长时间的一个项目中,想必为了方便调试,里面会有很多的NSLog输出,为了优化性能,同时又方便调试,可以在pch中定义一个宏,既可以替换原有的NSLog ,让其再DEBUG模式下输出,又可以额外输出一些其他的相关信息。

定义pch文件,将下面代码拷贝,即可。

// 保证 #ifdef 中的宏定义只会在 OC 的代码中被引用

// 否则,一旦引入 C/C++ 的代码或者框架,就会出错!

#ifdef __OBJC__

#ifdef DEBUG

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

#else

#define NSLog(...)

#endif

#endif

效果如下:不仅会输出原有的打印,而且会输出对应的类名,方法名,及在文件的第几行

最新文章

  1. spring 第一篇(1-1):让java开发变得更简单(下)转
  2. Hierarchical Token Bucket
  3. POJ 2395 Out of Hay(MST)
  4. MongoDB - Introduction to MongoDB, BSON Types
  5. java中的数据库事务处理
  6. JAVA 读取pdf文件
  7. [.net 面向对象程序设计深入](13)实战设计模式——设计模式使用场景及原则
  8. VR全景项目领导者,VR全景智慧城市
  9. 详解EBS接口开发之销售订单挑库发放
  10. .net core使用ViewComponent将页面图片转码成base64
  11. mysql--构造数据、导入导出
  12. 开放标准-http://www.open-std.org/
  13. djiango web 在进入admin的时候出现'set' object is not reversible错误
  14. Python 特殊关系
  15. (转载)SAPI 包含sphelper.h编译错误解决方案
  16. 关于在Android中添加事件监听器的方法
  17. HTTP请求方式:GET和POST的比较
  18. css3特别篇图解FlexBox
  19. 帆软中使用switch将控件的显示值“传递”给单元格
  20. poj 1034 The dog task (二分匹配)

热门文章

  1. pptpvpn记录用户登录和流量信息
  2. xrange和range区别
  3. 浏览我的php网页时,出现的都是网页的代码
  4. USB Type-C 连接器规范推出之后,市场很多低质量线材容易损坏设备
  5. mysql select count(filed) 问题(where条件没有数据匹配的话也有数据返回)。
  6. 从零开始学习jQuery (九) jQuery工具函数
  7. 如何解决CHM打开乱码的问题
  8. java反编译工具
  9. Maven详解 之 聚合与继承
  10. 【原】Spark Standalone模式