【轉】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 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM