オブジェクトのライフサイクル
オブジェクトのライフサイクル、つまり、その作成から、その破壊までの実行時の生命ーは、それが受信する様々なメッセージによってマークされ、決定されます。オブジェクトは、プログラムが明示的に割り当て、初期化するか、それが別のオブジェクトのコピーを作成すると、存在するようになります。オブジェクトはまた、それがアンアーカイブ中に、アーカイブバイトストリームからそれ自身を復号するように頼まれたとき、その実行中の生命が始まります。オブジェクトが nib ファイルからアンアーカイブされた場合には、nib ファイル内のすべてのオブジェクトがメモリにロードされた後 awakeFromNib メッセージを受信します。
注意:この記事は明示的なメモリ管理に関連する概念を説明し、iOS 5.0 以降自動参照カウント(ARC)に取って代わられました。ARC は Objective-C のオブジェクトの自動メモリ管理を提供する、コンパイラの機能です。
作成と初期化段階の後、オブジェクトの保持カウントがゼロよりも大きい間は、オブジェクトはメモリに残っています。プログラム内の他のオブジェクトは、オブジェクトに retain やコピー命令を送信して所有権を表明し、後でオブジェクトに release を送って、その所有権を放棄します。オブジェクトが生存可能である間、プログラムは、オブジェクトがアーカイブ・バイト・ストリームでその状態をエンコードする、アーカイブ処理を開始します。オブジェクトがその最終的な release メッセージを受信すると、その保持カウントはゼロに低下します。そのため、オブジェクトの dealloc メソッドが呼ばれると、割り当てられたすべてのオブジェクトまたは他のメモリを解放し、オブジェクトは破棄されます。
前提条件の記事
関連記事
既出の議論
ココア基礎ガイド のオブジェクトとの作業
次の章
前の章