iPhone/iPadアプリ開発逆引き大全500の極意

プログラミングの基礎 - Tips165 利用したメモリを解放する

登録タグ
iOS
Icon comment count 0
Icon stock count 0

3-8クラスTips165 利用したメモリを解放する

Level2

Pointデストラクタでメモリを解放(deallocメソッド、releaseメソッド)

NSObjectクラスを継承したクラスでは、メモリの後処理を行うdeallocメソッドが定義されています。この後処理を行うメソッドをデストラクタと言います。

デストラクタでは、クラスで利用しているメモリを解放することができます。

- (void)dealloc
{
  // オブジェクトの解放
  [super dealloc];
}

デストラクタでは、最初にクラス内で利用しているメモリを開放します。

ただし、直接利用してるインスタンス変数の解放は自動的にreleaseメソッドが呼び出されるために必要ありません。配列内のメモリなどの自動で解放できない処理を記述します。

親クラスのdeallocメソッドは、処理の最後で行います。

リスト1では、Horseクラスの定義をして、デストラクタであるdeallocメソッドを定義しています。

Horseクラスでは、子供のHorseオブジェクトを配列で設定しています。この配列内のHorseオブジェクトをdeallocメソッドで解放しています。配列オブジェクト自身(children)は、自動的にreleaseメソッドが呼び出

出典情報

Medium

iPhone/iPadアプリ開発逆引き大全500の極意

  • 著者: 増田 智昭, 池谷 京子

コメント

    コメントはありません