美文网首页
Swift中自定义Log

Swift中自定义Log

作者: 黑歷史 | 来源:发表于2016-06-06 18:39 被阅读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)
    

    相关文章

      网友评论

          本文标题:Swift中自定义Log

          本文链接:https://www.haomeiwen.com/subject/yzqddttx.html