0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Swiftの self の使い方を簡単に説明してみました!(初心者向け)

Posted at

今回は、Swiftの self の使い方を初心者向けに解説してました!
Swiftでは、selfは自分自身(=インスタンス自身)を指すキーワードです。
クラス・構造体・列挙型などの中で、自分のプロパティやメソッドにアクセスしたいときに使います。

基本的な使い方

struct User {
    var name: String

    func greet() {
        print("こんにちは、\(self.name)さん!")
    }
}

ここでのself.nameは「このインスタンスのnameプロパティ」を意味しています。
また、selfは省略可能なので、下のように書くこともできます

print("こんにちは、\(name)さん!") 

では、いつselfが必要になる場合になるの?

引数とプロパティの名前が同じとき

struct User {
    var name: String

    init(name: String) {
        self.name = name 
    }
}

上のように、引数とプロパティの名前が同じだと、Swiftはどちらを指しているか分からなくなります。
このとき、self.nameと書くことで「自分自身のプロパティ」だと明示できます。

クラス内で self を使うときの例

class Counter {
    var count = 0

    func increment() {
        self.count += 1
    }
}

こちらもselfは省略できますが、メソッド内で他の変数と区別したいときに使うことがあります。

クロージャ内での self

クラスで非同期処理やクロージャを使うときには、明示的にselfを書く必要があることが多いです。

class Timer {
    var count = 0

    func startTimer() {
        DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
            self.count += 1
            print("カウント: \(self.count)")
        }
    }
}

最後に

selfを書くことで、クラスのプロパティやメソッドを使っていると明確になると思います!
ぜひ参考にしてみてください!🤌

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?