如何在Swift中创build一个可导入的模块?

我已经阅读了Swift的苹果文档,并且没有发现如何创build模块或者如何将类或者构造成员定义为私有或者公共的。

在语法中有对引用语句的引用,但我不能find它在做什么或如何使用它的信息。

有谁知道我在哪里可以find这个?

最新的Xcode 6 beta更新(testing版4)使访问控制迅速

Swift启用访问控制

Swift访问控制有三个访问级别:

  • 私人实体只能从定义它们的源文件中访问。
  • 内部实体可以在定义目标的任何地方访问。
  • 公共实体可以从目标中的任何地方以及导入当前目标模块的任何其他上下文访问。

在Swift中,“模块”是指框架。 Xcode现在有一个用于为iOS和OS X创build框架项目的模板。

目前没有办法公开/保护方法或属性。 如果您希望将此function添加为function,则可以向苹果的bug记者发出function请求。 还应该注意的是,苹果已经表示,每次发布Xcode都会改变语言,所以成员访问级别可能会在公开发布之前添加。

另外,还有一种方法可以自己制作一个模块,但这有点困难。

如果你看看xcrun swift -help你可能会看到一些选项,并且有-emit-module-emit-library-emit-object这可能是有用的,但是,可能你应该更喜欢官方的方式,模块通过框架。

如果你仍然想自己制作模块,你可以阅读本指南的一些解释

苹果提到私有方法尚不存在,但正在实施之中。 请记住,这是一个新生的语言,它仍在build立。

苹果书“ Swift 2.2”中的字眼是:

一个模块是一个单一的代码分配单元 – 一个框架或应用程序,它是作为一个单元构build和交付的,并且可以由另一个模块通过Swift的导入关键字导入。

Xcode中的每个构build目标(如应用程序包或框架)在Swift中都被视为一个单独的模块。 如果将应用程序代码的各个方面作为独立框架组合在一起(也许是将这些代码封装在多个应用程序中并重复使用),那么在该框架中定义的所有内容都将在应用程序中导入和使用时成为单独模块的一部分,或者在另一个框架内使用。