2011-06-22 15 views
0

オブジェクトの参照カウントがゼロで、解放されたオブジェクトがそのオブジェクトに適用される場合、何が起こるべきですか?私のアプリケーションはクラッシュしません。参照カウントについて

答えて

1

短い答えではありません。現在クラッシュしていなくても、将来はトラブルを探しています。アップルのメモリ管理ガイドラインをお読みください。それは本当に難しいことではありません。

基本的に、保持カウントが0になると、インスタンスは割り当てが解除されます。あなたがそれを再びリリースすると、あなたは実際にどのオブジェクトを操作していますか?前回のリリース以降に他のオブジェクトを割り当てていない場合は、同じ状態になっている可能性があります(未知の状態ですが)。たぶんそれはあなたが解放している別のオブジェクトです。確かな唯一の方法はそれをしないことです。 (またはインスタンスを解放した直後にnilに設定すると、それ以降のリリースでは少なくとも無害になります)

関連する問題