Swift中自定义Log

2016-06-06  本文已影响0人  黑歷史

自定义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)
上一篇 下一篇

猜你喜欢

热点阅读