Swiftで変数や関数を保護する(ルビーのように)方法を教えてください。スウィフトは3つのレベルしか持っていませんが、それでも可能ですか?Swiftの保護されたアクセスレベル
アクセスレベル
スウィフトは、あなたの コード内のエンティティのための3つの異なるアクセスレベルを提供します。これらのアクセスレベルは、 エンティティが定義されているソースファイル、およびソースファイル が属するモジュールに関連しています。
- パブリックアクセスは実体が その定義モジュールから任意のソースファイル内で使用され、また定義しているモジュールをインポートし、別のモジュール からソースファイルにすることができます。 がフレームワークへのパブリックインターフェイスを指定するときは、一般的にパブリックアクセスを使用します。
- 内部アクセス は、定義している モジュールのソースファイル内でエンティティを使用できますが、そのモジュール外のソースファイルでは使用できません。 は、通常、アプリケーションまたはフレームワークの内部構造を定義するときに内部アクセスを使用します。
- プライベートアクセスでは、エンティティの使用を独自の定義元ファイル に制限します。専用アクセスを使用して、特定の機能の実装の詳細を表示しないようにします。
公開 アクセスが最高(最低制限)アクセスレベルで、民間 アクセスは最下位(最も制限)であるアクセスレベル
現在、私は唯一の解決策を参照してください - プライベートで親クラスを書きます修飾子と子クラスが1つのファイルに含まれていますが、それは痛いものです。
これの根拠を説明するSwift Blogエントリがありました。もうAppleのウェブサイトには載っていないようですが、ここでも読むことができます:http://web.archive.org/web/20150810115840/https://developer.apple.com/swift/blog/?id=11 。 –
@MartinR Apple Swiftのブログにはまだあります。私の答えは – onmyway133