我正在用Swift编写一个静态库,将在多个项目中重复使用。问题是,我正在使用的类和结构体名称很常见,很容易与其他库/框架发生冲突。我没有看到任何明显的方法可以在Swift中创建自己的命名空间。那么,在多个库/框架中避免类之间的名称冲突最好的方法是什么?
我正在用Swift编写一个静态库,将在多个项目中重复使用。问题是,我正在使用的类和结构体名称很常见,很容易与其他库/框架发生冲突。我没有看到任何明显的方法可以在Swift中创建自己的命名空间。那么,在多个库/框架中避免类之间的名称冲突最好的方法是什么?
你不需要避免使用自己喜欢的名称。当你想要访问你的类、结构体或协议时,只需使用你的模块名称作为命名空间即可。
例如:
import MyModule
let a: MyModule.Result // the Result type defined inside the `MyModule`
let b: Result // Swift's Result type
Swift.
进行命名空间化的,这对于在数组扩展中调用全局max
函数(其中max
指的是Array.max(by:)
)时非常有用,可以使用Swift.max(a, b)
。 - Alexander
Foundation.Timer
和YourModule.Timer
。 - SweeperUITextFiled
和CBPeripheral
。 - Paulw11