Posted at

アクセス修飾子

fileprivate と private の違いがわからなかったので、調べた。


アクセス修飾子

制限が大きい      →       少ない                     

private > fileprivate > internal(デフォルト) > public > open

private(set) もある。これをするとReadonlyになる。

https://swift.tecc0.com/?p=268

fileprivateはファイル内なら呼び出せるため基本こっちを使ってしまう。

(そのファイル内ならextension, 継承しているクラス, 関係のないクラスなどからも呼び出せる。)

privateはそのクラス内からしか呼び出せなかったが、swift4からextensionも呼び出し可能になった。

使用する用途に応じて使い分けた方が可読性は上がりそう。

https://useyourloaf.com/blog/swift-4-access-levels/

https://dev.classmethod.jp/smartphone/iphone/swift4-private-and-fileprivate/