zoukankan      html  css  js  c++  java
  • 【转】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)
     
    配置文件.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
        
        
    }
  • 相关阅读:
    结构体比较
    不定长参数列表用法
    接口
    字符串数据类型
    *和**的打包和解包
    python类常用装饰器
    继承的实现
    map用法
    包的导入和init函数
    协程
  • 原文地址:https://www.cnblogs.com/wi100sh/p/12581163.html
Copyright © 2011-2022 走看看