1

私はナビゲーションコントローラーを持っていますが、私が理解できなかったことが1つあります。それは、ビューコントローラーをポップしたときにリリースされない理由です。

これをナビゲーションコントローラーに追加すると、リリースします。これは、ナビゲーションコントローラーがビューコントローラーの管理を担当することを意味します。

しかし、ナビゲーションコントローラーをポップすると、ポップされたビューコントローラーがまだぶら下がっていることがわかります。通知オブザーバーがまだ実行されているので、私はこれを知っています。

また、ビューからナビゲーションコントローラーを削除し、リリースしてnilに設定しようとしましたが、それでもビューコントローラーがぶら下がっています。

ビューコントローラがポップされたとき、またはナビゲーションコントローラ自体を解放したときに、どこでどのようにナビゲーションコントローラからビューコントローラを解放できますか?

ありがとう。

4

1 に答える 1

2

通知オブザーバーについておっしゃっていますが、ビューコントローラーは通知センターに追加されていますか?その場合、通知センターはViewControllerを保持していると思います。viewWillDisappearでオブザーバーとして削除し、deallocでNSLogをスローして、正しくリリースされているかどうかを確認します。

于 2012-04-26T19:31:38.700 に答える