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

  • 相关阅读:
    Android WebView重定向问题的解决方案
    Android 控件背景选择图片还是drawable XML资源
    Android AlertDialog 绝对位置计算
    Android 5.0以上Material Design 沉浸式状态栏
    Android 6.0系统动态请求系统相机权限
    Android软键盘在清单文件中所有配置含义
    Android,TextView的所有属性和方法
    【转载】Android控件属性大全
    Android布局及控件的属性说明
    android带有文字的图片按钮的两种实现方式
  • 原文地址:https://www.cnblogs.com/xiaoqiangink/p/12565874.html
Copyright © 2011-2022 走看看