自定义Log
/*
泛型
如果想在函数中使用泛型, 那么必须告诉系统这是一个泛型函数
格式: func 函数名称<T>(形参列表) -> 返回值类型 {}
T具体是什么类型由调用者来确定, 调用者传递的事什么类型, T就是什么类型
*/
func CTLog<T>(message: T, fileName: String = #file, methodName: String = #function, lineNumber: Int = #line) {
// swift里想要用宏, 需要在[Build Settings]->[Custom Flags]里加入自定的宏命名, eg: -D DEBUG, 名字随意~
#if DEBUG
print("\(methodName)[\(lineNumber)]:\(message)")
#endif
}
67CCA466-D5A1-4D9A-B7F1-891806A6103E.png
或者参照系统默认的print()方法, message类型为Any表示任意类型
func CLog(message: Any, fileName: String = #file, methodName: String = #function, lineNumber: Int = #line) {
// print("\((fileName as NSString).pathComponents.last!).\(methodName)[\(lineNumber)]:\(message)")
#if DEBUG
print("\(methodName)[\(lineNumber)]:\(message)")
#endif
}
调用方式
// print(#function)
// print(#file)
// print(#line)
CLog("abc")
CLog(10)
CLog(10.7)
CLog(Any)
网友评论