2017-01-05 4 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とプロパティpublic varの間に違いはありません意味し、これに感謝しますか? (公開と公開の違いは関数とクラスのためだけです) –

+0

実際に 'public'と' open'変数の間には若干の違いがあり、 'open'変数はモジュールの外部でサブクラス化可能ですが、' public'ヴァルスはそうではありません。 @マーティンRはここでそれを説明する素晴らしい仕事をしています:http://stackoverflow.com/questions/38947101/what-is-the-open-keyword-in-swift –

関連する問題