【转】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)
定义 全局函数 添加#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
}
Stay hungry, stay foolish!