iOS 中DLog 用法
DLog就可以完全替代NSLog,并且满足上述的需求。DLog本质上就是个宏替换,可以输出类名,方法名和行号。DLog具体代码如下:
#ifdef DEBUG#define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);#else#define DLog(...)#endif
将以上代码写到prefix.pch文件中,并且在工程Bulid Settings的other C Flags的Debug中加入-DDEBUG就可以在代码中的任何位置使用DLog了。
因为是在Debug模式下加入DLog,所以在Release版本中不会加入DLog代码
简单介绍以下几个宏:
1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。
2) __FILE__ 宏在预编译时会替换成当前的源文件名
3) __LINE__宏在预编译时会替换成当前的行号
4) __FUNCTION__宏在预编译时会替换成当前的函数名称
例如:DLog(@"mcoudeFlag:%d",mCodeFlag);
转载于:https://www.cnblogs.com/allen123/p/4447713.html
iOS 中DLog 用法相关推荐
- 关于iOS 中DLog 用法
DLog的使用 Objective C中NSLog虽然使用方便,但是有时候NSLog并不能满足程序员调试程序的全部需求.比如打印的结果位于哪个类中?是在哪个类中打印的?或者具体是在哪行打印的等等.所以 ...
- ios中MKHorizMenu用法
下载地址 https://github.com/MugunthKumar/MKHorizMenuDemo直接 加入MKHorizMenu目录即可 下载包地址 http://pan.baidu.com/ ...
- SQLite3在IOS中的用法
{http://blog.csdn.net/mamong/article/details/8365466} 使用的过程根据使用的函数大致分为如下几个过程: sqlite3_open() sqlite3 ...
- iOS中CAShapeLayer用法
(1)画虚线 CAShapeLayer *shapeLayer = [CAShapeLayer layer]; [shapeLayer setBounds:self.bounds]; [shapeLa ...
- IOS中NSUserDefaults的用法
2019独角兽企业重金招聘Python工程师标准>>> IOS中NSUserDefaults的用法(轻量级本地数据存储) 分类: IOS开发 Object-C编程语言2012-09- ...
- ios开发 ajax hook,IOS中的网络拦截总结
因为业务场景需要,要求对App中网络请求进行拦截.这里包括原生网络请求和WebView里的网络请求.之前我们了解过原生网络请求的拦截是可以实现的,但是WebView中网络请求似乎还不太可能,所以抱着尝 ...
- [转] iOS中@class #import #include 简介
[转载自:http://blog.csdn.net/chengwuli125/article/details/9705315] 一.解析 很多刚开始学习iOS开发的同学可能在看别人的代码 ...
- ios中关于delegate(委托)的使用心得
ios中关于delegate(委托)的使用心得 分类: iOS开发2012-05-15 10:54 34793人阅读 评论(9) 收藏 举报 iosuiviewtimerinterfaceprinti ...
- IOS中扩展机制Category和associative
在ios开发中,有时候会遇到以下的问题,需要在一个类中添加自己的一些属性和方法.一般的做法是重写一个类来继承它,但是有时候就只是需要添加一些简单的属性和方法,那么这样做就显得过于麻烦,其实在IOS中还 ...
最新文章
- 火爆GitHub的《机器学习100天》,有人把它翻译成了中文版
- 计算机图形学直线扫描转论文,计算机图形学实验报告-实验1直线段扫描转换.doc...
- 自定义非等高 Cell
- vue 引入bootstarp --webpack
- 在阿里云上部署生产级别Kubernetes集群
- 编译Python2.7.10
- 关系型数据库表结构的两个设计技巧
- xp共享计算机,XP怎么设置局域网共享?
- rlm sql mysql.so_UBUUTU7.10上安装配置freeradius+mysql+rp-pppoe手记
- python物性库能调用哪些物质_Python获取热物性(2)使用ctREFPROP调用refprop
- 辽宁交通高等专科学校计算机专业宿舍,辽宁省交通高等专科学校宿舍条件怎么样 有独立卫生间和空调吗...
- C 标准库 —— stdio.h
- python正则表达式笔记之字符集合的使用
- cmsis-dap ubuntu Error: unable to find CMSIS-DAP device
- java中dao和dao.impl_java 包 dao 和 dao.impl 问题
- Macintosh30周年回顾视频 ---转自36kr
- [linux] 命令
- 精选100个Python实战项目案例,送给零基础小白的你
- c语言中,偷机取巧,输出超市购物小票的票头
- C语言学习笔记之初识
热门文章
- Apache Griffin调试各种报错总结
- 电子计算机4级证,计算机四级获证条件
- 读《身边的逻辑学有感》
- 淘宝微信如何进入微信推广?
- [转贴]让板载声卡支持ASIO
- 2020美赛E题解题思路(Drowning in Plastic)
- 古籍制作 - 古书制作 - 古籍制作工具 - 古籍制作软件 - 古籍修复工具 -古籍修复软件 - 古书制作软件 - 古书修复工具 - 古籍修复软件 -古籍修复软件
- 帮助粉丝用青泥学术大数据推荐毕业论文选题(围绕 教育信息化2.0、疫情期间线上学习质量问题、Steam教育、智慧教育等突破点来抉择)
- 字节跳动接力反内卷:宣布取消大小周,直接降薪 15%?
- OSChina 周四乱弹 ——地主家的傻儿子