原文网址:https://www.jianshu.com/p/de222deded93
我们在使用代码调试中 经常使用print打印函数,有时打印的多了,不好定位到时哪一控制器,哪一行代码,我们今日就是解决这个问题
在Swift中获取 文件的命的函数是 #file 转化成 OC字符串获取
   let file  =  (#file as NSString).lastPathComponent;
        print("\(file)-123");
 let funcName =  #function;
 print("\(file):\(funcName)--123");
//打印结果: ViewController.swift:viewDidLoad()--123
  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)");
    
    
}

定义 全局函数 添加#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
    
    
}
原文:https://www.cnblogs.com/wi100sh/p/12581163.html