gpt4 book ai didi

ios - 删除发布版本 iOS Swift 的 println()

转载 作者:IT王子 更新时间:2023-10-29 04:57:23 25 4
gpt4 key购买 nike

如果我不在调试版本中,我想全局忽略我的 Swift 代码中的所有 println() 调用。我找不到任何可靠的分步说明,希望得到指导。有没有办法在全局范围内执行此操作,或者我是否需要用 #IF DEBUG/#ENDIF 语句包围每个 println()

最佳答案

最简单的方法是把你自己的全局函数放在Swift的println前面:

func println(object: Any) {
Swift.println(object)
}

当需要停止记录时,只需注释掉该函数的主体即可:

func println(object: Any) {
// Swift.println(object)
}

或者您可以使用条件使其自动:

func println(object: Any) {
#if DEBUG
Swift.println(object)
#endif
}

编辑 在 Swift 2.0 中,println 被更改为 print。不幸的是,它现在有一个可变的第一个参数;这很酷,但这意味着您不能轻易覆盖它,因为 Swift 没有“splat”运算符,所以您不能在代码中传递可变参数(它只能按字面意思创建)。但是,如果您只打印一个值,通常情况下,您可以制作一个有效的简化版本:

func print(items: Any..., separator: String = " ", terminator: String = "\n") {
Swift.print(items[0], separator:separator, terminator: terminator)
}

在Swift 3中,你需要抑制第一个参数的外部标签:

func print(_ items: Any..., separator: String = " ", terminator: String = "\n") {
Swift.print(items[0], separator:separator, terminator: terminator)
}

关于ios - 删除发布版本 iOS Swift 的 println(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26913799/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com