zoukankan      html  css  js  c++  java
  • swift学习:自定义Log

    import UIKit
    
    /*
     总结:1:let file = (#file as NSString).lastPathComponent,#file获取的是打印所在的文件
    的全路径,转成NSString才能调用lastPathComponent获取的是路径最后的.后面的元素,as NSString转成NSString类型
         
          2:let funcName = #function,获取打印所在的方法
          3;let lineNum = #line,获取打印所在行数
          4:拼接字符串的时候,可以用String方法的formart方法,打印可以使用插值运算:()
          print("(file):[(funcName)]((__LINE__))-123")
     
     */
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            
            // 1.获取打印所在的文件
            let file = (#file as NSString).lastPathComponent
            
            // 2.获取打印所在的方法
            let funcName = #function
            
            // 3.获取打印所在行数
            let lineNum = #line
            
            // print("(file):[(funcName)]((__LINE__))-123")
            // print("(file):[(funcName)]((__LINE__))-123")
            
            XMGLog("hello swift")
        }
    }
    import UIKit
    
    @UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {
    
        var window: UIWindow?
    
    
        func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
            
            // print("AppDelegate-123")
            XMGLog("123")
            
            return true
        }
    }
    
    /*
     总结:自定义Log:
     v定义Log 1. 定义Log的打印内容
     打印所在的 件 #FILE 打印所在的方法 #FUNCTION 打印所在的行 #LINE 
     默认参数:当在方法中传参数时,也可以传入默认参数,定义:file : String = #file
     全局函数:在AppDelegate中定义全局函数:泛型传打印内容:func XMGLog<T>(_ messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line)
     2.Log在Debug下 打印,在release下 不打印
     定义标记项 —>buildSettings—>搜索swift flag—>Debug -> -D DEBUG 做标记--------在项目中实现:#if DEBUG    #endif
     
     */
    
    func XMGLog<T>(_ messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
        
        #if DEBUG
        
        let fileName = (file as NSString).lastPathComponent
        
        print("(fileName):((lineNum))-(messsage)")
        
        #endif
    }

  • 相关阅读:
    第7章 类
    windows查询端口占用以及kill
    判断电脑的系统,以及windows是否是XP
    Promise.all 出现异常时候处理
    [Vue warn]: Failed to mount component: template or render function not defined.
    电脑缺少配置 输入命令解决
    Vue packages version mismatch
    数组里 对象去重
    hexo 创建博客
    查看端口占用,并结束占用端口
  • 原文地址:https://www.cnblogs.com/cqb-learner/p/5887655.html
Copyright © 2011-2022 走看看