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

标签 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)
}

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

这可能吗?有帮助吗?

最佳答案

不,这是不可能的,如果你想使用来自不同模块的函数,你必须导入那个模块。

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

关于swift - 覆盖所有模块的 Swift.print() 或共享功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49025949/

相关文章:

ios - 如何在 Swift 3 中使用 NSSecureCoding 解码字符串?

swift - PickerView 在文本字段输入中不显示任何内容

ios - 将自定义 UIView 添加到 Scenekit 节点

swift - 从文件句柄读取数据在 Linux 上泄漏内存

module - Nest.js : Circular dependencies in dynamic modules

python - 使同一 Python 模块内的子模块彼此可见

node.js - module.export 不工作CompoundJS?

ios - NavigationBar 为一个 View 设置 TitleColor

swift - 使用 Swiftyjson 从数组访问数据

ios - 在 Swift 3 中将 .scheduledTimer 的变量返回到 TableView Cell