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

时间:2018-02-28 09:22:07

标签: swift swift3 module

我的观点是扩展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)
}

但它仅适用于定义的模块内部。 我想在所有现有模块中共享此功能。

有可能吗?有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

不,如果您想使用其他模块中的函数,则不可能导入该模块。

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