一尘不染

如何在Swift中使用命名空间?

swift

该文档仅提及嵌套类型,但尚不清楚它们是否可用作命名空间。我还没有发现任何有关命名空间的明确提及。


阅读 255

收藏
2020-07-07

共1个答案

一尘不染

苹果开发论坛中
SevenTenEleven 回答了:

命名空间不是按文件的;它们是基于目标的(基于“产品模块名称”构建设置)。因此,您最终将得到如下结果:

import FrameworkA
import FrameworkB

FrameworkA.foo()

所有Swift声明都被认为是某个模块的一部分,因此即使您说“ NSLog”(是的,它仍然存在),您也会得到Swift认为的“
Foundation.NSLog”。

克里斯·拉特纳(Chris
Lattner)

也在推特上发布了有关命名空间的信息

名称间隔在Swift中是隐式的,所有类(等)都由它们所在的模块(Xcode目标)隐式地作用域。不需要类前缀

似乎与我一直在想的完全不同。

2020-07-07