覆盖所有模块的Swift.print()或共享功能

问题描述 投票:0回答:1

我的观点是扩展Swift.print()函数或编写我自己的自定义函数ns_print(),它可以从所有模块中获得而无需显式导入。

因为我saw some answers喜欢

public func print(_ items: Any..., separator: String = " ", terminator: String = "\n") {
    let output = items.map { "\($0)" }.joined(separator: separator)
    Swift.print(output, terminator: terminator)
}

但它只能在定义的模块内部工作。我想在所有现有模块中共享此功能。

可能吗?有帮助吗?

swift swift3 module
1个回答
2
投票

不,这是不可能的,如果你想使用不同模块的功能,你必须导入该模块。

默认的print函数是Swift模块的一部分,它在所有Swift文件中自动(隐式)导入,这就是它可以在任何地方使用而无需显式导入模块的原因。

© www.soinside.com 2019 - 2024. All rights reserved.