1

メソッドごとにビューを追加するpushViewControllerと、ナビゲーション バーに [戻る] ボタンが表示され、スタックからビューがポップされます。ただし、スタックからポップした後、iOSはビューを破棄しないようですので、いつ破棄されますか? ビューをポップアウトするときに手動で破棄できますか?

4

2 に答える 2

2

一般的には次のようなパターンです。

- (void)pushSomeViewControllerOnStack
{
    SomeViewController* someViewController = [[SomeViewController alloc] initWithNibName:@"SomeView" bundle:nil];
    [self.navigationController pushViewController:someViewController animated:YES];
    [someViewController release];
}

言い換えると、ナビゲーション コントローラーは独自retainのビュー コントローラーを実行します。つまりreleaseinit. ナビゲーション コントローラーは、必要に応じてこのコントローラーの解放も処理します。

于 2010-09-03T16:41:14.340 に答える
1

サブクラス内にメソッドviewDidUnloadとメソッドを実装する必要があります。deallocUIViewController

UINavigationControllerビューコントローラをスタックからポップすると、それらのメソッド内のコードが実行されます。

ViewControllerプログラミングガイドforiOS:AppleのiOS DeveloperLibraryのNavigationControllersドキュメントと、およびクラスのクラスリファレンスドキュメントを読んで、View Controllerのライフサイクルと、さまざまなアプリケーションイベントが発生したときに何が予想されるかを理解する必要があります。 。UINavigationControllerUIViewController

于 2011-10-07T20:25:39.520 に答える