私は自分のアプリ Litho Graph でこれを行います。終了時にページにいた場合は、次に起動したときにそのページに戻ります。これも非常に簡単です。私のメイン ビュー コントローラーの -viewDidLoad 実装では、ユーザーの既定値で最後に表示されたページのキーを確認します。何もない場合は、通常どおり続行します (すべてのページのリストを表示します)。何かあれば、そのページを開きます (新しいビュー コントローラーをナビゲーション コントローラー スタックにプッシュします)。
ビュー コントローラーの実際の読み込みは非常に簡単です。インスタンス化するだけです。私のビュー コントローラ クラスはそれぞれ -init をオーバーライドして -initWithNibName:bundle: を呼び出すようになっているため、+alloc と -init を呼び出してビュー コントローラ インスタンスを作成するだけで、適切な .xib ファイルからロードすることができます。次に、上記のように、ナビゲーション コントローラーのスタックにプッシュします。
[self.navigationController pushViewController: controller animated: YES];
もちろん、これは必要な数のレイヤーで行うことができますが、複数のトランジションが発生する場合は、アニメーションなしでビュー コントローラーをプッシュすることをお勧めします。ユーザーがいくつかのアニメーションを待たなければならないのは逆効果です (: