在不同的文件中访问 class

Access class in different file

我还是 swift 的新手,有几件事我无法得到明确的答案。

到目前为止,我一直在 playgrounds 中使用单个文件。 如果我想使用更多文件,如何访问在控制视图的主文件中创建的 类 中的数据(变量和函数)?

据我所知,有多个文件只是为了方便,所以我没有办法再写一遍。

(也在旁边)当函数具有私有、public 或只是 'func' 时,这意味着什么?

我正在使用 swift 3 个游乐场

谢谢

制作东西 public 将使它们可以从其他模块导入。使其成为 private 将使其只能由其包含范围内的方法访问(封装)。对于位于顶层的代码,此范围是它所在的整个 .swift 文件。没有任何访问修饰符(只是裸露的“func”),您的东西将默认为 internal ,这意味着它可以从同一模块中的任何其他代码访问,但不能通过不同模块中的代码访问。

一个特例是 fileprivate 修饰符,它限制对代码所在的 .swift 文件的访问。对于不在 class 或结构中的代码,这确实与 private 完全相同。一些 Swift 设计者不鼓励使用这个修饰符,它可能会在 Swift 的未来版本中被删除。

在 Swift、open 中还有第五个访问修饰符,它与 public 的作用完全相同,除了它还允许 subclassing,并且仅适用于 classes。这个很少使用,但对某些库接口很有用。

要导入模块中的所有 public 符号,请使用

import Module

要导入 single public 符号,请使用

import var Module.variable
import func Module.function
import struct Module.structure
import class Module.class
...