3

IOS コントローラに関する一般的な質問:

起動時にiosがデフォルトのUI View Controllerを作成し、presentViewControllerを呼び出すか、Segueを使用して他のものを開くことができます

質問は、以前のコントローラーがまだメモリ内にあるかどうかです。

たとえば、チェーンは次のとおりです。A->B->C->D->B->C.... など、遷移 B->C->D->B は循環しています。

各コントローラーの新しいインスタンスを作成し、各コピーを保持しますか? 再利用しますか?

ありがとう

4

1 に答える 1

6

はい、モーダル セグエを行っていて presentViewController を呼び出している場合、ViewControllers はまだ存在します。作成済みのこれらの viewController の新しいインスタンスにセグエするのではなく[self dismissViewControllerAnimated:YES completion:nil];、スタックを呼び出して破棄し、作成済みの viewController に戻る必要があります。

presentingViewController次のようなプロパティを使用できます。

[[[self presentingViewController]presentingViewController]dismissViewControllerAnimated:YES completion:nil]...etc 

また

[self.navigationController popToRootViewControllerAnimated:YES];(nav VC を使用している場合)

いくつかのviewControllerをすばやく却下するために。 viewDidLoad再度呼び出されることはありませんが、 and 内で viewController を更新できviewWillAppearますviewDidAppear

于 2013-06-10T22:43:47.653 に答える