美文网首页Swift开发
Swift自定义print打印函数

Swift自定义print打印函数

作者: 追逐_chase | 来源:发表于2017-12-05 16:49 被阅读28次
    Swift.png

    我们在使用代码调试中 经常使用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
        
        
    }
    
    

    相关文章

      网友评论

        本文标题:Swift自定义print打印函数

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