iPadアプリを作っています。
フォームに入力して送信し、フォームデータを保存します。ここにキャッチがあります:-
- iPad がインターネットに接続されている場合、API 呼び出しを介してデータをバックエンド データベースに送信する必要があります。
- それ以外の場合は、ユーザーが何も知らずにローカル ストレージに保存する必要があります。
- ユーザーが以前に入力したフォームのリストを表示する画面があり、[1 週間ほど] 編集できます。同期されているかどうかはわかりません。
ユーザーがオンラインになり、同期ボタンを押すと、データがバックエンドと同期されます。
ローカル ストレージに Core Data を使用しており、前に RoR WS API を備えた MySQL バックエンドがあります。
現在、エンティティ スキーマの設計とキャッシュ技術の実装に関して複数の質問があります。
物事を過度に複雑にしたくありません。
すべての提案を歓迎します:)
私の質問
- 各フォーム データの一意の ID は、バックエンドで自動生成されます。したがって、データをローカルに保存し、バックエンドと同期していない場合、どの id を持っている必要がありますか?
ローカル ストレージにデータを保持する期間と、比較的古いデータをいつ削除する必要があるか。
重要な要素は、ユーザーが常に接続できるとは限らず、ログイン状態もユーザーのデフォルトにキャッシュされることです。