美文网首页iOS Developer
OC和Swift自定义Log打印输出

OC和Swift自定义Log打印输出

作者: 三十六_ | 来源:发表于2017-05-05 22:25 被阅读112次

导语
在开发中经常会打印出一些内容来进行调试,但是这些打印内容会消耗性能,所以我们需要在 Release (发布)的时候取消这些打印,而在开发调试中将这些内容展示出来。

Objective-C中有宏定义,我们可以在预编译文件中写入以下代码:

#ifdef DEBUG
#define JYHLog(...) NSLog(__VA_ARGS__)
#else 
#define JYHLog(...)
#endif

这样就可以在开发时使用JYHLog(@"Something")来打印内容,而在发布的时候这些输出代码会被替换为空,从而减少了性能消耗。

而在Swift中,没有宏定义这种东西,所以我们要自己在Xcode中加入:


添加标记

利用Swift全局函数的功能:将函数定义在项目中任意一个类文件的class外面,就可以在项目中的任何地方均可以调用这个方法.

我们可以在AppDelegate文件中添加以下代码:

func JYHLog<T>(_ message : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
    
    #if DEBUG
    
    let fileName = (file as NSString).lastPathComponent
    print("\(fileName):(\(lineNum))-\(message)")
    
    #endif
}

可以自行更改里面输出的内容,代码中的DEBUG就是我们之前在XCode中添加的swift flag。
该函数使用了泛型,可以使我们传递任意类型的数据进去

相关文章

  • OC和Swift自定义Log打印输出

    导语在开发中经常会打印出一些内容来进行调试,但是这些打印内容会消耗性能,所以我们需要在 Release (发布)的...

  • Swift自定义log以及其它

    一、自定义Log 在Swift中,我们也需要如OC一样,对log进行自定义。下面是一个我自定义的log,示例如下:...

  • Swift 自定义Log

    Swift中打印不像OC那样每次打印系统会自己打印出时间和所在类名,所以在swift中要自己封装.自定义Log要用...

  • SWIFT 的一些小知识点

    1、NSLog 在 oc 中使用NSLog,在 swift 中为 print 1.1、自定义 Log 函数 1.2...

  • Swift 小技巧 -- 自定义调试信息打印

    今天想记录和分享一个 Swift 中的自定义调试信息打印小技巧. 之前写过一个 OC 自定义 log 的文章, 有...

  • Swift3.0之其他开发需要

    1.0自定义输出日志(log) 和OC不同的是,swift没有所谓的pch文件,即时新建了也产生不了什么作用,而且...

  • OC 和Swift 互相调用

    一、OC调用swift文件 二、swift调用OC文件 三、注意和总结 添加: 四、自定义桥接文件 一、OC调用s...

  • Swift中自定义Log

    Swift中自定义Log Swift中自定义Log:依次是类名.方法名.行号.内容. func LTLog(fun...

  • Swift报错:fatal error: use of unim

    OC与Swift混编时,创建一个swift类继承自OC类,由于这个OC类已自定义构造函数,所以在这个swift类中...

  • iOS 自定义Log

    swift自定义log一般写在AppDelegate里:AppDelegate.swift:application...

网友评论

    本文标题:OC和Swift自定义Log打印输出

    本文链接:https://www.haomeiwen.com/subject/mthstxtx.html