3

アプリケーションの状態をリロードする際のベスト プラクティスを学びたいと思います。これにより、アプリが起動されたときに、再度開いたときに「正しい」ビュー/サブビューが自動的に読み込まれるようになります。

私の特定のケースでは、アプリには多数のビュー コントローラーがあり、それぞれが UITableView を処理します。アプリを再度開いたときに、テーブル ビュー階層内の正しいノードに「ジャンプ」するようにしたいと考えています。

4

4 に答える 4

5

マークが言ったことに基づいて、ベース ビュー コントローラーがあり、次に 1 つ以上のレベルの「ドリルダウン」があると仮定して、すべてのビュー コントローラーを「現在の」ものまでロードします[navigationController pushViewController: viewController animated: NO]。次に、ユーザーが [戻る] ボタンを押すと、事前に読み込まれた以前のビュー コントローラーが表示されます。これの良い例は「連絡先」アプリです。このアプリはグループ ビュー コントローラーをプリロードし、現在のグループ (通常は「すべての連絡先」) のビュー コントローラーをその上にプッシュします。

于 2008-11-21T04:38:03.830 に答える
4

Apple の DrillDownSave サンプル アプリを確認します。

「ドリルダウン リスト スタイルのユーザー インターフェイスでユーザーの現在の場所を復元し、アプリの再起動時にその場所を復元する方法を示します。」

http://developer.apple.com/iphone/library/samplecode/DrillDownSave

于 2008-11-21T13:37:47.237 に答える
2

各View Controllerに識別子を関連付け、現在のビューが変更されたときにその値をユーザーのデフォルトに保存する必要があります。次回起動するときにその値を読み取ると、最初にロードする必要があるView Controllerがわかります。

于 2008-11-21T04:27:20.687 に答える
0

この種のことを行うのに役立つ小さなライブラリを公開しました。App Store で公開したアプリで既に使用していますが、ビューごとに手動で NSCoder を実装するよりもはるかにスムーズです :P

于 2010-06-21T07:01:56.563 に答える