終了時に以前の状態であったようなアプリケーションをロードする最良の方法
-
08-07-2019 - |
質問
アプリケーションの状態をリロードする際のベストプラクティスを学びたいので、アプリの起動時に「正しい」コードが自動的にロードされるようにします。再度開いたときに表示/サブビュー。
特定のケースでは、アプリに多数のView Controllerがあり、それぞれがUITableViewを処理します。アプリで「ジャンプ」したいテーブルビュー階層を再度開いたときに、テーブルビュー階層内の正しいノードに移動します。
解決
ベースビューコントローラーがあり、1つ以上のレベルの「ドリルダウン」があると仮定して、マークが言ったことに基づいて、 [navigationController pushViewController:viewController animated:NO]
。次に、ユーザーが[戻る]ボタンを押すと、事前に読み込まれた以前のView Controllerが表示されます。この良い例は、「連絡先」です。グループビューコントローラーをプリロードし、その上に現在のグループ(通常は「すべての連絡先」)のビューコントローラーをプッシュするアプリ。
他のヒント
AppleのDrillDownSaveサンプルアプリを確認します:
"ユーザーの復元方法を示します ドリルダウンリストの現在の場所 スタイルのユーザーインターフェイスと復元 アプリの再起動時の場所。"
http://developer.apple.com/iphone/library/samplecode/DrillDownSave
各View Controllerに識別子を関連付け、現在のビューが変更されたときにその値をユーザーのデフォルトに保存する必要があります。次回起動するときにその値を読むと、最初にロードする必要があるView Controllerがわかります。
小さなライブラリを公開して、このようなことを支援しています。 App Storeで公開したアプリで既に使用しています。すべてのビューにNSCoderを手動で実装するよりもはるかにスムーズです:P