クラスの終了処理 deinitの定義
deinit { // パラメータ無し(中括弧無し) // クラスのみに使用できる }
デイニシャライザは、クラスインスタンスの割り当てが解除される直前に呼び出されます。デイニシャライザは、クラスタイプでのみ使用できます。
デイニシャライザの例
let dog = Dog(name: "Snoopy") print(dog.name) // 結果 // Snoopy // 当該クラスの deinit が呼ばれる // deinit Dog // 次にスーパークラスの deinit が呼ばれる // deinit Animal class Animal { var name: String var nakigoe: String? init(name: String) { self.name = name self.nakigoe = "designated wanwan" } deinit { print("deinit Animal") } } class Dog: Animal { deinit { print("deinit Dog") } }