終了時に以前の状態であったようなアプリケーションをロードする最良の方法

StackOverflow https://stackoverflow.com/questions/307832

  •  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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top