2016-05-17 6 views
0

こんにちはすべて私は、coredataを使用し、カスタムREST APIに接続する迅速なiOSアプリケーションを開発するために開発者と協力しています。ユーザーがアプリケーションの設定を更新するユースケースがありますが、APIに保存する前にインターネット接続が失われています。インターネット接続が失われたときに、coredataのデータをカスタムREST APIと同期させますか?

私が知りたいことは、ローカルに入力されたデータを保存して、インターネット接続が失われても失われないことを保証する最良の方法は何ですか?

私は単純な解決策は、ローカルモデル上でいくつかのタイムスタンプフィールドを使用することができると考えています。 1はアプリ内でローカルモデルが更新されたとき、もう1つはモデルがAPIまで保存されたときです。こうすることで、ローカルのタイムスタンプがAPIのタイムスタンプよりも小さいか大きい場合に、データがAPIと同期されているかどうかをアプリが確認できます。

これは良いアプローチですか、この標準的なライブラリやテクニックが既にこのユースケースで使用されていますか?

答えて

1

オフライン時にトランザクションログを記録します。 NSManagedObjectContext APIでそれをキャプチャして、updatedObjects,insertedObjects、およびdeletedObjectsと尋ねることができます。

オンラインになると、サーバーに対してトランザクションログが再生されます。

関連する問題