A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© -(_)- 中级黑马   /  2014-7-27 21:27  /  1297 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 -(_)- 于 2014-7-27 21:36 编辑

  刚开始发帖子, 如果有弄错的地方还请大家指示一下, 真心期待自己能快点获得黑马的名额

  在开发过程中经常会遇到需要NSLog一些信息出来检验数据跟进行调试的,  在一番调试过后, 会留下很多的NSLog语句, 但这些在应用开布的时候是不需要的, 在App运行中过多的NSLog是消耗性能的, 一个一个的查找删除显得有点笨重, 跟大家分享一下在视频中学习到的方法, 通过宏定义的试工去掉所有的NSLog语句. file:///Users/linyanzuo/Library/Application%20Support/Evernote/accounts/Evernote-China/linyanzuo1222/content/p37/1b58ef6811c18da830a1c06d50ce206d.pngfile:///Users/linyanzuo/Library/Application%20Support/Evernote/accounts/Evernote-China/linyanzuo1222/content/p37/1b58ef6811c18da830a1c06d50ce206d.png
#ifdef DEBUG
#define MyLog(...) NSLog(__VA_ARGS__)
#else
#define MyLog(...)
#endif

当应用程序处于开发调试状态时, DEBUG = YES, 在应用发布后, DEBUG就不存在了
此处的语句表示, 如果定义了DEBUG (处于开发调试状态) , 则定义MyLog 为 NSLog, 如果没有定义DEBUG (处于发布状态), 则定义MyLog为空.
在编写代码时, 使用MyLog代表NSLog,  即可解决NSLog的问题

2 个回复

倒序浏览
这个应该是放在资源帖子里边。。。这个贴很赞哦
回复 使用道具 举报
宏定义确实是一个好东西啊,相当于一个模块的化的东西。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马