2011-07-19 11 views
3

ここで目的Cで作業してください。 fooArrayという名前の配列があるとします。このfooArrayの各要素のオブジェクトです...私たちはbarObject1barObject2barObject3それらを呼び出すだろう、などが今、これらの各オブジェクトはメモリを占有しているいくつかの特性を有しています。今、私はの範囲で何かを使用してfooArrayからこれらのオブジェクトの1つをクリアすることを想像:今配列からオブジェクトを削除すると、オブジェクトのdeallocメソッドが実行されますか?

[fooArray removeObjectAtIndex:0] 

、これは実際にオブジェクトを削除しますか?それとも、オブジェクトとそのプロパティをメモリ内に浮かべておくだけで、配列から取り出すだけですか?

これは、私は単にそれが働いているかを理解しようとしている、働いている任意のプロジェクトに直接関係はありません。

ありがとうございました!

答えて

6

配列には、それに含まれるオブジェクトが保持されます。配列からオブジェクトを削除すると、オブジェクト上でreleaseが呼び出されます。オブジェクトの保持カウントが0の場合、オブジェクトの割り当てが解除されます。

+0

ありがとうございます!何か私はいつも思っていた:)私はそれができるようにすぐにあなたの答えを受け入れるよ。 – hemlocker

関連する問題