12

Swift 4 では、同じソース コード ファイル内の拡張子でも見えるようになったので、アクセス修飾子privateとどう違うのですか?fileprivate

背景: Swift 3 では、クラス内のプライベート変数は、同じファイル内の拡張機能では表示されません。そのためには、fileprivate使用する必要がありました。

4

7 に答える 7

0

オープン vs パブリック:

  • Public はクラスを別のモジュール/ターゲットに継承することを許可しませんが、Open は許可します。
  • パブリック メソッドでは、別のモジュール/ターゲットのサブクラスでオーバーライドすることはできませんが、Open ではオーバーライドできます。

上記以外はどちらも同じです。

プライベート対ファイルプライベート:

  • (単一のファイル内で) Private はサブクラスの (func とプロパティ) へのアクセスを許可しませんが、FilePrivate は許可します。
  • (外部ファイル) Private と FilePrivate の両方にアクセスできません。

上記以外はどちらも同じです。

于 2020-10-19T04:55:14.703 に答える