2017-01-05 34 views
1

您可以编辑另一个模块的公共变量的值,还是必须打开该变量。是否可以从另一个模块编辑公共变量的值?


我的公共/斯威夫特卡伦特3个开放式的理解是:

  • 公共类可以在另一个模块中进行,但只有开放类可以在另一个模块中被继承。
  • 公共功能可以在另一个模块中调用,但只有打开的功能可以在另一个模块中被覆盖。
  • 但我不确定变量。

回答

1

你绝对可以!这里是你可以完成它的好方法:包含您想处理变量

在模块:

// 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现在拥有的“再见”

+0

非常欣赏这一点的值,就意味着有一个开放的VAR和公共变种之间没有区别? (公开和公开之间的区别仅在于函数和类) –

+0

实际上,'public'和'open' vars之间存在细微的差异,主要的是'open' vars是子类,变种不是。 @Martin R在这里做了很好的解释:http://stackoverflow.com/questions/38947101/what-is-the-open-keyword-in-swift –

相关问题