2017-05-12 19 views
0

私はiOSアプリケーションで作業していますが、時には私のアプリケーションの2番目のビューにジャンプする必要がありますが、私はそれを残したビューの状態に正確に移動します。 popToViewControllerがこの操作に適していることが分かりました。私の質問です:他のビューはどうなりますか?彼らは殺されたのですか、彼らはまだ生きていますか?私はnavigationControllerを使用しているビュー間のナビゲーションについては。 ありがとうございます。popToViewControllerライフサイクル

答えて

0

NavigationControllerはスタックのように機能しています。あなたが何かをポップしているとき、それは割り当てが解除されています。たとえば、ビュー・コントローラは、次のようにスタック:

A - > B - > C - > D

あなたはpopToViewController(B)を呼び出します場合、スタックは次のようになります。

A - > B

View Controller CとDは、メモリ内に保持する強い参照がない場合はもちろん、割り当てを解除する必要があります)

0

ナビゲーションコントローラは、View Controllerを押してポップするとスタック上で動作します。コントローラは、スタックに挿入を表示し、スタックからビューをポップすると、そのスタックは削除されます。スタックはFirst In First Outルールで動作しています。

pop viewcontoller popスタックから1つのviewcontollerをポップします。特定のviewcontollerをポップし、スタック内のそのコントローラのインデックスに基づいて直接ナビゲートすることができます。

0

ナビゲーションコントローラはすべてのビューコントローラのスタックを保持します。各コントローラはポップするまでスタック上に存在し、ウィンドウ上のコントローラはtopViewControllerです。

popToViewControllerを呼び出すと、その間のすべてのviewControllerがナビゲーションスタックからポップされ、メモリから解放されます。他のどのクラスもそのビューコントローラを強く保持していないと仮定します。