Swift 如何扩展现有模块?

Swift 如何扩展现有模块?,swift,module,Swift,Module,在C#中,它将如下所示: namespace QuartzCore { // extensions namespace Metal { // extensions } } 甚至 namespace QuartCore.Metal { extensions } 我对C#不是很熟悉,但你可以在Swift中使用。这里有一个简单的例子 extension String { func count() -> Int { return c

在C#中,它将如下所示:

namespace QuartzCore {
    // extensions

    namespace Metal {
      // extensions
    }
}
甚至

namespace QuartCore.Metal { extensions }

我对C#不是很熟悉,但你可以在Swift中使用。这里有一个简单的例子

extension String {
    func count() -> Int {
        return countElements(self)
    }
}

var str = "Hello, playground"
str.count() //17

您可以通过这种方式扩展类、结构和枚举,但添加的对象范围仅限于选定的目标。为了简单起见,想象一下我需要创建两个具有相同签名的全局函数,但其中一个在已经存在的名称空间(模块)中。您是否发现了?没有。我相信,当我发现时,我会记得在这里添加答案。SO用户是否有一种标准的方法来强制自己这样做?