• 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了,试试看吧 : )

  • 相关阅读:
    Vue.js进阶知识点总结
    测试初学
    gitee简单命令使用
    Ubuntu学习之alias命令
    Python turtle.right与turtle.setheading的区别
    Python-对Pcap文件进行处理,获取指定TCP流
    第八次作业
    第七次作业
    第八周作业
    第七周作业
  • 原文地址:https://www.cnblogs.com/xiaoqiangink/p/12565874.html
Copyright © 2020-2023  润新知