1
1

More than 3 years have passed since last update.

イニシャライザとは? -init()

Last updated at Posted at 2021-08-28

イニシャライザとは、

型(クラス、構造)のインスタンスを初期化(僕のイメージでは再設定)するメソッドのこと

 class User {
    let name: String

    // funcが不要(initキーワードのみ)
    init(name: String) {
        // 全てのプロパティを初期化する前にインスタンスメソッドを実行することはできない
        // printName() → コンパイルエラー
        self.name = name
        printName() // OK
    }

    // インスタンスメソッド
    func printName() {
        print(name)
    }
}
let user1 = User.init(name: "hoge")
// 呼び出し時のメソッド名が省略可能
let user2 = User(name: "hoge")

イニシャライザの順序

イニジャライザは、プロパティの初期化をしてからインスタンスメソッド(インスタンスプロパティにアクセス、変更するためのインスタンスの目的に関連した機能としてサポートするメソッド)を実行するという順序が存在します。

参考文献
https://qiita.com/shtnkgm/items/8b7979fc84a3cc065238

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