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の半分は過ぎたみたい