在不同的文件中访问 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
...
我还是 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
...