1
您可以编辑另一个模块的公共变量的值,还是必须打开该变量。是否可以从另一个模块编辑公共变量的值?
我的公共/斯威夫特卡伦特3个开放式的理解是:
- 公共类可以在另一个模块中进行,但只有开放类可以在另一个模块中被继承。
- 公共功能可以在另一个模块中调用,但只有打开的功能可以在另一个模块中被覆盖。
- 但我不确定变量。
您可以编辑另一个模块的公共变量的值,还是必须打开该变量。是否可以从另一个模块编辑公共变量的值?
我的公共/斯威夫特卡伦特3个开放式的理解是:
你绝对可以!这里是你可以完成它的好方法:包含您想处理变量
在模块:
// Must be declared globally
public var someValue = "hi"
在您希望从操纵变量在不同的模块:
// Initialize the module that holds the variable you want to manipulate
var myModule = SomeModule()
// Manipulate the variable (someValue)
myModule.someValue = "bye"
变量someValue
现在拥有的“再见”
非常欣赏这一点的值,就意味着有一个开放的VAR和公共变种之间没有区别? (公开和公开之间的区别仅在于函数和类) –
实际上,'public'和'open' vars之间存在细微的差异,主要的是'open' vars是子类,变种不是。 @Martin R在这里做了很好的解释:http://stackoverflow.com/questions/38947101/what-is-the-open-keyword-in-swift –