2017-03-28 55 views
3

我仍然是一个新手快速,我不能在一些事情上得到明确的答案。在不同的文件中访问类

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

从我的理解有多个文件只是为了方便,所以我没有可以再写一遍。

(同样在侧面)当函数具有私有,公共或“func”功能时,这意味着什么?

我使用SWIFT 3个操场

感谢

回答

2

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

一个特殊情况是fileprivate改性剂限制访问.swift文件的代码家住。对于不生活在一个类或结构的代码,这样做完全一样的事情作为private。一些Swift设计师不鼓励使用这个修饰符,它可能会在未来版本的Swift中被删除。

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

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

import Module 

要导入singlepublic符号,使用

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

我创造了在操场上名为测试文件,并在其中提出了类名为example。我不能在我的主文件 –

+0

中“导入测试仪”或“导入示例”是模块的名称是'tester'和'example'吗? –

+0

“示例”是模块的名称(根据我的理解,这是创建的新文件的名称)。 “Tester”是在此模块中创建的类的名称(其中包含变量) –