不同文件中的访问类

Dav*_*son 5 swift swift-playground

我仍然是 swift 的新手,我无法在一些事情上得到明确的答案。

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

据我所知,拥有多个文件只是为了方便,所以我不能再写一次。

(也在旁边)当一个函数具有私有、公共或只是“func”时,这意味着什么?

我正在使用 swift 3 playground

谢谢

tay*_*ift 3

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

\n\n

一个特殊情况是fileprivate限制对.swift代码所在文件的访问的修饰符。对于不在类或结构中的代码,这与private. 一些 Swift 设计者不鼓励使用此修饰符,并且可能会在 Swift 的未来版本中删除它。

\n\n

Swift 中有第五个访问修饰符open,它的作用与 完全相同public,只是它也允许子类化,并且仅适用于类。这个很少使用,但对于某些库接口很有用。

\n\n

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

\n\n
import Module\n
Run Code Online (Sandbox Code Playgroud)\n\n

要导入单个 public符号,请使用

\n\n
import var Module.variable\nimport func Module.function\nimport struct Module.structure\nimport class Module.class\n...\n
Run Code Online (Sandbox Code Playgroud)\n