zoukankan      html  css  js  c++  java
  • Objective c 如何配置使用DLog ALog

    前面讲了pch 预编译文件的简单使用,这里再讲一下另一个东西。

    我们知道,使用NSLog虽然很方便可以看到我们想要的内容,但是其实他印出的信息其实并不全,比如我们想知道在哪个类中打印?或者是在哪行打印,当然我们可以通过pch 对NSLog进行定义,或者重新写一个Log的类来定义我们想要的log结构,但是这里主要讲一下DLog 和ALog的配置使用。

    如何实现

    #ifdef DEBUG
    #   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
    #else
    #   define DLog(...)
    #endif
    
    // ALog always displays output regardless of the DEBUG setting
    #define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
    

    解释:

    DLog 和ALog本质上其实就是在pch 预编译期间,对NSLog进行宏替换,我们可以在使用它们的时候定义其他的信息。你可以看到,在debug 模式下,和release 模式下,上面的DLog作用。 debug模式会输出行数,类等信息,release 模式则不会输出,如果你使用ALog,两种模式均会输出行数信息。

    我想这个部分还是会有一些帮助的,如果你刚好需要的话,也可以加到你的project里面

    下面再讲一下设定部分;

    设定一

    build setting下面搜索:Other C Flags

    在debug栏位,输入-DDEBUG即可

    设定二

    让你的编译器知道预编译文件的路径是必须要的。在Prefix Header那栏右边双击输入以下信息:

    $(SRCROOT)/YourPCHDirectory/YourPrefixHeader.pch
    

    $(SRCROOT) 定位到你的project path,后面你只需要跟包含你pch 文件的那层目录即可。

    这样就大功告成,可以在你的project里面使用DLog和ALog了,试试看吧 : )

  • 相关阅读:
    DataTable distinct 去重复
    EF 实体字段设置主键和自增
    select into from 和 insert into select 的用法
    EF的 JOIN操作
    Linq左关联 右关联 内关联
    MySQL MGR集群搭建
    论用户体验测试:牛逼的功能千篇一律,好的体验万里挑一
    Spring Cloud使用总结
    数据采集与分析的那些事——从数据埋点到AB测试
    如何能低成本地快速获取大量目标用户,而不是与竞争对手持久战?
  • 原文地址:https://www.cnblogs.com/xiaoqiangink/p/12565874.html
Copyright © 2011-2022 走看看