11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Swift】アクセス修飾子を理解して使い分ける

Last updated at Posted at 2021-01-14

はじめに

Swiftでコーディングする際、アクセス修飾子を適当に使っちゃってないですか?
雰囲気で使いわけてレビューで突っ込まれてないですか?

なぜ定数(変数)を使うのか、なぜその修飾子を使うのか理解して使うために自分なりにまとめたので、よかったら参考にしてください!

変数と定数

let(定数)
値を変更する可能性がない場合に使う
static let
全インスタンスから共通で利用できる
var(変数)
後から値を変更することができる

let hoge = hogehoge

static let hoge = hogehoge

var hoge = hogehoge

アクセス修飾子

Set
入れた値を使って他のプロパティの値に渡すことができる
Get
他のプロパティの値を受け取るのことができる

追記: getterは同一モジュール内、setterは同一スコープ内からアクセスできる
(@takehito-koshimizu さんありがとうございます🙏)


private(set) var hoge = hogehoge

Public
別モジュールから呼び出せるが継承やオーバーライドが不可能
Private
同スコープ内からのみ呼び出せる
fileprivate
同じfile内であれば呼び出せる

private let hoge = hogehoge

private var hoge = hogehoge
public let hoge = hogehoge

public var hoge = hogehoge
fileprivate let hoge = hogehoge

fileprivate var hoge = hogehoge

参考になりましたでしょうか?よければLGTMくれると僕がめっちゃ喜びます!

11
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?