Swift:扩展print()函数的功能

可以扩展Swift函数的功能吗?我想在程序中的每个print()函数上附加一个字符,而不必创建全新的函数并重命名print()的每个实例。是否可以创建将在每个打印实例后附加“

*”的扩展名?

这样做的目的是创建一种清除XCODE添加到调试器中的所有额外信息的方法。我使用打印语句来检查代码不同部分的进度和成功,但是XCODE在几秒钟内填写了数千行多余信息,这些信息很快掩盖了我的特定语句。

我想做的事:

print("Hello world!")

//Psuedo code:

Extension print(text: String) {

let newText = "*\(text)"

return newText

}

输出:* Hello World!

然后,我将过滤Xcode调试输出中的星号。我一直在手动做

回答:

您可以print使标准库中的方法蒙上阴影:

public func print(items: Any..., separator: String = " ", terminator: String = "\n") {

let output = items.map { "*\($0)" }.joined(separator: separator)

Swift.print(output, terminator: terminator)

}

由于原始函数位于标准库中,因此其全限定名称为 Swift.print

以上是 Swift:扩展print()函数的功能 的全部内容, 来源链接: utcz.com/qa/423975.html

回到顶部