Swift子模块 - 它们究竟是什么

时间:2017-09-14 21:28:45

标签: swift module package

来自Java世界,我还不能确切地理解什么是Swift子模块,而不是Java包'对应。

  • Swift模块和子模块如何与Java中的jar和包相关 世界?
  • 您是否可以从子模块导入,例如通过编写导入 Module.Submodule1(...)。SubmoduleN.MyClass
  • 子模块是否绑定到目录树,就像Java包一样?如果不是,那么子模块的定义方式是什么?

(我无法在Apple的Swift在线规范中找到这些问题的答案,也无法在他们发布的免费书籍中找到这些问题的答案。我已经在一些开发人员名单上询问了但我得到的信息与Apple的软件包管理器文档相矛盾,特别是关于第三点。)

1 个答案:

答案 0 :(得分:2)

  • Swift模块相当于 Java包 Swift框架就像 Java jar 。子模块只是其他模块内部的模块。
  • 是的,您可以,但如果您只想导入一个类,则必须使用import classimport struct表示结构,import enum表示enum。简单import只能用于模块。
  • 不,他们没有绑定到文件夹树。它们是使用Clang module system定义的,Xcode和SPM为您执行大部分样板操作。