まず私はちょうどスウィフトで遊んで開始し、実際にそれで書かれたコードの多くが、チュートリアルのすべてを見ていないことを教えてみましょうスウィフトプライベートプロパティ/メソッドの使用は一般的ではありませんI私はInternal
がデフォルトであることで、スウィフトは、3つのアクセス制御、Private
、Public
とInternal
を持って理解し、いくつかの他の言語と同じくらい、彼らはプライベート使用していない見てきました。はなぜすべての
私は少し混乱し、私は一般的なプログラミングの経験の多くを持っていないが、私の理解は、プログラムで使用すると、すべてがプライベートにするということだったが、あなたがしたいのパブリックプロパティとメソッドを作るという事実にもかかわらずです他のクラスに公開する
アップルドキュメント
からのアクセス制御のさまざまなレベルを提供することに加えて、スウィフト は、典型的なシナリオのデフォルトのアクセスレベルを提供 ことにより、明示的なアクセス制御のレベルを指定する必要がなくなります。あなた は、1台のターゲットアプリケーションを作成する場合確かに、あなたは、すべての明示的 アクセス制御のレベルを指定する必要はないかもしれません。私に
あなたは基本的に正しい、それらの値に他のクラスへのアクセス権を与えているデフォルト(Internal
)としてすべてのプロパティ/メソッドを残すことで?
スウィフト/ココアではどうしてあなたのプログラムの他の部分にアクセスさせたくないプロパティに対してPrivate
アクセサを使用することはほとんどありませんか?
誰かがとても親切で、概念アクセサーを一般的に説明することができますか?Swiftはこのように設計されていますか、私が上に作った前提で間違っていれば、 OOPの多くの経験と私は一般的なアクセサの概念を混乱させるかもしれません。
おかげ
アップデート:今日(2016年1月7日)私はiTunesで、分24:15にStanford
大学が提供するコースDeveloping iOS 8 Apps with Swift
からMVCを適用する3 ビデオ#を見てPaul Hegartyはアクセス制御について語っています。私はそれを強く推奨します。スウィフトで
私たちは 'private'を使用します。私たちは、あなたにそれについて教えていません。 –
最も狭い可能性のあるアクセス制御を使用するあなたの直感は、IMHOでも適用されます。私はチュートリアルで見たスニペットが、このトピックに短い短期間を与えることは驚くことではありません。これは、より大きな実用アプリケーションで発生する傾向がある問題です。私が一貫して使用しているのは、ストアドプロパティとの直接的なやりとりが明らかに問題となる、いくつかのストアドプロパティによってサポートされている計算されたプロパティがある場合です。「プライベート」と表示されることがよくあります。しかし、要するに、私たちの多くは私たち自身のコードで 'private'を使っています。 – Rob
@Robクラス内でのみ使用されるプロパティ(クラススコープ)を 'private'にし、残りを' internal'として残すのは良い方法でしょうか?この方法では、コードは少なくとも読みやすくなります。 –