Deinitialization

今日のは少ない

昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Deinitialization.html を読む。

  • Swiftのメモリ管理はARC
  • deinitializer はクラスのインスタンスがメモリから解除される直前に呼び出される
  • deinit キーワードをつかってinitみたいに、 パラメータも括弧()もなし deinit {〜}
  • ひとつのクラスに最大でひとつの deinitializer
  • インスタンスの割り当て解除が行われる直前に、自動的にdeinitializerが呼び出される
  • deinitializer の実装はインスタンスのプロパティ全てにアクセスできる
  • あなたは自分自身でdeinitializerを呼び出すことはできません
  • スーパークラスdeinitializerはサブクラスによって継承される
  • サブクラスdeinitializer→スーパークラスdeinitializerの順に呼び出される
  • スーパークラスdeinitializerはサブクラスが独自のdeinitializerを提供しない場合でも常に呼び出される
  • クラスのインスタンスが入ったOptionalな変数にnilを代入すれば deinitializer が呼び出される

LANGUAGE GUIDEの半分は過ぎたみたい