Swift 个包之间的命名空间

Namespaces between Swift Packages

我在 SPM 中使用了两个 swift 软件包。但看起来两者都在定义一个具有相同名称的结构。它可以编译,尽管似乎一个结构覆盖了另一个。如何选择要使用的结构?每个包都有一些命名空间吗?

谢谢..

假设你有包“A”和“B”,结构名称是“SomeModel” 你可以简单地

import A
import B
let modelA = A.SomeModel(…)
let modelB = B.SomeModel(…)

这是 Swift 中不同 modules/packages 的默认值 behavior/namespacing。尽管包中可能还有一个 encapsulating/name-spacing。像

class SomeClass {
  struct SomeModel{}
}

然后再封装就可以访问了