文章目录

  • 0.打印时显示时间,类名,打印所在的行数(推荐)
  • 1.打印时显示时间,类名,打印所在的行数
  • 1.1 方法:不要写在任何类里面,作为全局方法
  • 1.2 做成自定义的代码块
  • 2.打印方法名,类名,文件名


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.打印时显示时间,类名,打印所在的行数

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

func printXY(_ any:Any,obj:Any,line:Int) {
    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)")
}

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

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

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

如下图:

swift 打印当前方法名 swift 打印地址_swift


参考博客:

swift-获取当前系统时间Swift 中打 Log 的正确姿势

[Swift]全局属性和方法(类似于OC的宏定义)

1.2 做成自定义的代码块

swift 打印当前方法名 swift 打印地址_swift_02


Xcode自定义代码块Create Code Snippet(Xcode11.4.1)

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

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

swift 打印当前方法名 swift 打印地址_swift 打印当前方法名_03