2011-01-22 10 views
0

guys.iphoneが初めてです。 私は問題が発生しました.uiimageviewは解放できません...ここにコードです。IPHONE UIIMAGEVIEWは解放できませんか?

なぜ2番目のログNSLog(@ "after image dealloc%i"、[self retainCount])ですか? 1、悪いアクセスではないので、イメージビューは解放されません。 私は理解できません、可能な方法はこれを行うことができますか?...任意のアドバイスはgratefull.thanks事前になります!

答えて

0

deallocは、システムがオブジェクトを解放する際のコールバックメソッドです。 (受信機の保持カウントで解放メッセージの結果が0になる場合)

以下の説明は、

は代わりに、オブジェクトのdeallocメソッドが解放NSObjectのプロトコル方式を介して間接的に呼び出され、のdeallocのAPIドキュメントです。

0

これは、正確にはなぜ

をneverCount

と呼ぶべきかを示す優れた例です。オブジェクトの絶対保持数は実装の詳細であり、しばしば意味をなさない値になります。

何かが解放された後にメソッドを呼び出す動作は、が完全に定義されていないです。この場合、クラッシュする可能性があります。あなたがゾンビ検出をオンにした場合、それは間違いなくクラッシュします。

retainCountが今まで0を返すことができることを絶対にない方法があるので、オブジェクトの解放が0

+0

に保持カウントをデクリメントするために何の理由は、私は、コンパイラもそれを呼び出すための警告を出すべきだと思いますがありません。 –