Swift开发:如何在XCode中自动打印当前行号?
Swift开发中自动插入行号到print输出的方法
Xcode内置了预定义宏,能自动获取当前代码的行号,完全替代手动输入的方式。
常用的相关宏/字面量:
__LINE__:返回当前代码的行号(整数)#line:Swift语法风格的行号字面量,效果和__LINE__一致__FILE_NAME__:获取当前文件名(Swift 5.3+,替代旧版__FILE__的完整路径)#function:获取当前所在的函数名
直接在print中使用即可实现自动行号输出:
print("\(__LINE__): \(value)")
如果需要更丰富的调试信息,可组合多个宏:
print("\(__FILE_NAME__):\(__LINE__) [\(__FUNCTION__)] \(value)")
嫌每次写宏麻烦的话,还可以封装一个自定义调试函数:
func debugLog<T>(_ content: T, file: String = #file, line: Int = #line, function: String = #function) { let fileName = (file as NSString).lastPathComponent print("\(fileName):\(line) [\(function)] \(content)") }
调用时只需debugLog(value),就能自动输出包含文件名、行号、函数名的调试信息,定位问题更高效。
内容的提问来源于stack exchange,提问作者Manngo
相关产品推荐
相关产品推荐

