1
メインメニューの上にサブビューUIViewControllerを作成して追加するメインのUIViewController(メインメニュー)にいくつかのボタンがあります。サブビューを削除すると、そのコントローラーからのメモリーは解放されません。そのサブビューメモリを即座に解放するにはどうしたらいいですか?iPhone - deallocサブビューUIViewController removeFromSuperview
例がありますか?これは私のすべての問題を解決するだろう!前もって感謝します。ビューの階層構造(self.view)ずつ、その他 - ここ
は、私はあなたがのUIViewControllerが保持されている少なくとも二つの場所がある可能性が提供されたコードに基づいて、サブビュー
if((UIButton *) sender == gameClassicBtn) {
GameClassic *gameClassicController = [[GameClassic alloc]
initWithNibName:@"GameClassic" bundle:nil];
self.gameClassic = gameClassicController;
[gameClassicController release];
[self.view insertSubview:gameClassicController.view atIndex:1];
}
私はメインメニューのコードの中に何も公開しません...上記のコードはどこにありますか?私はそのファイルから、gameClassic.hをビューから削除したことをどのように伝えるかわかりません。私は[self.view removeFromSubview]によってそのSubviewを削除します。私のメインメニューに戻るために。 – bbullis21
基本的に私の問題はメインメニューのボタンをクリックしてサブビューを挿入することです。ショートゲーム終了後、removeFromSubviewを実行すると、そのサブビューのメモリはすぐに解放されません。したがって、メインメニューの別のボタンを選択すると別のサブビューがロードされ、objectallocはビルドを維持します。 – bbullis21
GameClassicクラスの一時的な保持と解放を一時的にオーバーライドし、それぞれにブレークポイントを設定します。そうすれば、インスタンスが保持され、解放されていることがわかり、余分な参照カウントをどこから削除する必要があるかを知ることができます。 – fbrereto