しめ鯖日記

swift, iPhoneアプリ開発, ruby on rails等のTipsや入門記事書いてます

Swift再入門25 − The Swift Programming Languageを読んでみる

この記事では「The Swift Programming Language」を1から読んだ感想とか発見を書いてみようと思います。
「The Swift Programming Language」とはSwiftの公式ドキュメントでiBooksや下ページで見る事ができます。

The Swift Programming Language (Swift 2.1): About Swift

読んだ所

今回はAccess Controlという項目を読みました。

The Swift Programming Language (Swift 2.1): Access Control

学んだこと

SwiftAccess Control

Swiftで使えるのは下の3つです。

  • Public 全てのモジュールから使えるアクセス権限。
    ライブラリを作る時はpublicにしないと本体アプリから使う事ができない。

  • Internal 同じモジュール内からアクセスできる。
    デフォルトのアクセスレベル

  • Private 同じファイル内からアクセスできる。
    同じクラスではなく同じファイル内。

アクセスレベルとオーバーライド

同じファイルに定義された場合に限りprivateメソッドをオーバーライドできます。
アクセスレベルをprivate以外にする事も可能です。

class A {
    private func method() {}
}
// BがAと別ファイルに定義されている場合はオーバーライドできない
class B: A {
    override func method() {}
}

セットはprivateでだけできるようにする

private(set)という修飾子を使えばプロパティーのセッターだけprivateにできます。
Arrayはappendメソッドも同じファイルからしか行えなくなります。

class A {
    private(set) var value = [String]()
}