サーバー上の複数のテーブルからの一括データのダウンロードを実装しようとしています。
私の場合、16 個のテーブルがあります。これらすべてのテーブルに対して、サーバーに 10 個のリクエストを送信します。これは、関連するテーブルに対して少し論理的なグループ化を行ったことを意味しますが、すべてのテーブルがいずれかの関係を通じて相互に関連付けられているようです。
ダウンロード中には、次の 3 つのケースを考慮する必要があります。
- ローカルで各テーブルにデータを保存します。
- 挿入されたオブジェクト間の関係を管理します。
- ダウンロード中にリクエストの 1 つが失敗した場合の処理状況 (8 番目のリクエストが失敗したなど)。
私は各応答に対してこのアプローチに従います。
- 管理オブジェクト コンテキストにデータを挿入しています。
- NSPredicate を起動して関連オブジェクトを関連付けることにより、関係を管理します。
- コンテキストを保存します。
応答が失敗した場合、次の 2 つのオプションがあります。
- 次回は、失敗した応答から続行します。
- 保存されたすべてのデータを以前の状態に戻します。
最初のアプローチはデータの不整合につながる可能性があるため、2 番目のアプローチを使用します。
管理オブジェクトのコンテキストが保存されていない場合、変更を元に戻すことができることはわかっていますが、
管理オブジェクトのコンテキストが保存されている場合、変更を元に戻すことはできますか?
コミュニティからの有用な回答が必要です。
提案してください。