iOS swift打印方法名,类名和文件地址(打印的时候显示时间,类型,在第几行)

0.打印时显示时间,类名,打印所在的行数

func MyPrint<T>(_ messsage : T, file : String = #file, funcName : String = #function, lineNum : Int = #line) {
    
    #if DEBUG
    
    let fileName = (file as NSString).lastPathComponent
    let now = Date();
    let timeInterval:TimeInterval = now.timeIntervalSince1970;
    let millisecond = CLongLong(round(timeInterval*1000))
    print("\(fileName)(\(lineNum))-\(millisecond):\(messsage)")
    
    #endif
}

class Constants: NSObject {
    @objc static let radioX = UIScreen.main.bounds.size.width/375;
    static let radioY = UIScreen.main.bounds.size.height/667;
}

1.打印时显示时间,类名,打印所在的行数(推荐:printXY)

1.1 方法:不要写在任何类里面,作为全局方法

func printXY(_ any:Any,obj:Any,line:Int) {
 #if DEBUG
    let date = Date()
     let timeFormatter = DateFormatter()
     //日期显示格式,可按自己需求显示
     timeFormatter.dateFormat = "HH:mm:ss.SSS"
     let strNowTime = timeFormatter.string(from: date) as String
     print("\(strNowTime) \(type(of: obj)) \(line)\(any)")
  #endif
}

使用:后面两个参数固定的传self和#line, 第一个参数传你要打印的对象,跟print方法传的参数一样

 printXY("测试", obj: self, line: #line)

打印:18:27:29.804 XYPeripheralInfoVC 57: 测试

如下图:

在这里插入图片描述
参考博客:
swift-获取当前系统时间
Swift 中打 Log 的正确姿势
[Swift]全局属性和方法(类似于OC的宏定义)

1.2 做成自定义的代码块

在这里插入图片描述
Xcode自定义代码块Create Code Snippet(Xcode11.4.1)

2.打印方法名,类名,文件名

print("\(#function) in \(type(of: self))")
print(" \(#file)")

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值