はどうやって確認することができ、その配列は、メモリ内にしたかどうか?条件が正しい場合、私は私が配列にcount = 0が保持されているかどうかを確認するにはどうすればよいですか?
それを必要とする条件がコードに従っていることは、アレイ
if (array1)
{
[array1 release];
}
を解放するために正しい持ち
はあなたに
はどうやって確認することができ、その配列は、メモリ内にしたかどうか?条件が正しい場合、私は私が配列にcount = 0が保持されているかどうかを確認するにはどうすればよいですか?
それを必要とする条件がコードに従っていることは、アレイ
if (array1)
{
[array1 release];
}
を解放するために正しい持ち
はあなたに
あなたがobj-C上のオブジェクトの保持カウントをチェックするべきではありません。最高でもその数はデバッグにはほとんど役に立たず、最悪の場合、それは誤解を招きます。適切なメモリ管理手法を実践する場合、保持カウントを確認する必要はありません。あなたはメモリ管理に問題がある場合
、より多くのコードを投稿し、我々はあなたのどこに問題があるあなたが追跡することができます。また、あなたがこれを読んでいないなら、あなたはすべきです。
ありがとうございます。それを使って、配列がメモリにあるかどうかを調べることができます。配列を解放した後、nilも割り当ててください。それはメモリから完全に削除されます。
乾杯、 Raxit
'nil'を指定しても「メモリから完全に削除されません」。 – bbum
は悲しいことに、あなたはそのretainCount
よりも、それはnil
であるかどうかを配列1他についての詳細を知る必要があります。あなたのプログラムをクラッシュさせたり、完全なゴミを返すことができますいずれかretainCount
を呼び出して、他の場所でリリースされたオブジェクトを指している場合。
[autoreleaseについての私のコメントを削除 - 誤解されていました。上記まだ本当のまま!]
度Probを使用すると、そのコードが実行される場合には、再度配列1偽となり、それが解放乗り越える文句を言わないことを保証することができる方法、あまりにも出てNIL必要があります。 – Rudiger
リリースをnilに送信するのは完全に安全です。オブジェクトを解放する前にオブジェクトがnilであるかどうかを確認する必要はありません。 @ Rudigerのアドバイスは良いですが。すでに解放されたオブジェクトにリリースを送信することを止めます。 – JeremyP