Menu

Category

Archive

logo


The Swift Programming Language ~ Deinitialization

2014-06-21 16:00:00 +0900
  • このエントリーをはてなブックマークに追加

iBooks にある "The Swift Programming Language" の勉強メモ。Objective-C と C を普段書いている自分から、ちょっと馴染みがないものを特にまとめておきます。目次は こちら

今回は、Deinitialization に関して。

Deinitialization

Deinitializer は、クラスのインスタンスが解放される際に呼ばれます。定義するには、Initializer のように deinit キーワードを使用します。クラスのみ Deinitializer を必要とします。

1. Deinitialization

Swift は、メモリ管理を ARC により自ら行ってくれるので、基本的に独自に Deinitializer を作成する必要はありません。しかし、ファイルを開いたりと独自のリソースを使用している場合には、必要になることがあります。

Deinitializer は、各クラスにつき 1 つだけ定義できます。Deinitializer は引数を取らず、かっこを省いて書かれます。

1 deinit {
2     // perform the deinitialization
3 }

Deinitializer は自動的に呼ばれ、私たちから呼ぶことはできません。スーパークラスの Deinitializer は継承されます。Deinitializer は、全てのプロパティにアクセスすることができます。