【转】Swift自定义print打印函数

原文网址:https://www.jianshu.com/p/de222deded93

我们在使用代码调试中 经常使用print打印函数,有时打印的多了,不好定位到时哪一控制器,哪一行代码,我们今日就是解决这个问题

  • 获取打印的所在文件

在Swift中获取 文件的命的函数是 #file 转化成 OC字符串获取

   let file  =  (#file as NSString).lastPathComponent;
        print("\(file)-123");
  • 获取打印的方法名称 #function函数
 let funcName =  #function;
 print("\(file):\(funcName)--123");
//打印结果: ViewController.swift:viewDidLoad()--123
  • 获取代码所在的行数 #line函数
  let file = (#file as NSString).lastPathComponent;
  print("\(file):\(#line)");
  • 写一个全局的函数 定义打印

///全局函数 T是泛型 传入不同的参数
func CCLog<T>(_ message:T,file:String = #file,funcName:String = #function,lineNum:Int = #line){
    
    let file = (file as NSString).lastPathComponent;
    
// 文件名:行数---要打印的信息
    print("\(file):(\(lineNum))--\(message)");
    
    
}
  • 调整在哪一个状态下打印 (Dbug 和Release)
 
配置文件.jpg

定义 全局函数 添加#if DEBUG #endif 判断

///全局函数
func CCLog<T>(_ message:T,file:String = #file,funcName:String = #function,lineNum:Int = #line){
    
    #if DEBUG
    
    let file = (file as NSString).lastPathComponent;
    
    print("\(file):(\(lineNum))--\(message)");
    
    #endif
    
    
}

posted on 2020-03-27 14:18  wi100sh  阅读(945)  评论(0编辑  收藏  举报

导航