2016-08-11 2 views
0

オフラインとオンラインモードで実行する必要がある(Swiftで)アプリを作っています。オフラインモードでは、データはCoreDataにローカルに保存されます。ネットワーク(オンライン)を検出すると、サーバーと同期してバックエンドデータベースを更新する必要があります。 誰も助けてください。coredataとwebservicesを迅速に同期させるにはどうすればよいですか?

+0

これまでに何を試みましたか? – Almazini

答えて

6

最近、私はオフラインとオンラインモードのアプリケーションに取り組んできました。

まず、オフラインモードで各エンティティから追加、更新、削除されるレコードを特定する必要があります。

これを確認するために、同期中に必要なすべてのエンティティにrecordStatusの1つの追加属性を追加しました。

エンティティは次のようになります。私は、このすべてのrecordStatusを処理するENUMを1つ作成しました。

Your entity will look like

私のソリューションは、Objective-Cであるが、私はあなたが簡単スウィフトに変換することができますと仮定します。同期時に

typedef NS_ENUM(NSInteger, RecordStatus){ 

    RecordStatusUnchanged = 0, 
    RecordStatusUpdated = 1, 
    RecordStatusAdded  = 2, 
    RecordStatusRemoved = 3 
}; 

....あなたは、そのrecordStatus != RecordStatusUnchangedとそのレコードがサーバーに送信されますレコードだけを取得する必要があります。

私はあなたにはっきりと響きたいと思います。

関連する問題