2016-07-02 5 views
0

私はレルムスウィフトに、RealmCollectionChange https://realm.io/docs/swift/latest/#realm-notificationsRealmCollectionChangeを使用してデータをサーバーに同期させる方法はありますか?

は、変更されたオブジェクトが含まれているように見えるがあることに気づきました。その通知ブロックを使用して、データをバックエンドデータベースに同期させるコードを追加することはできますか? 通知ブロックはメインキューで実行されていますか?

答えて

1

提供された通知メカニズムを使用して、変更をサーバーに伝播できます。ただし、サーバーへのリクエストがサーバーに応答した後に新しい変更を引き起こさないことを確認してください。そうでなければ、関連するドキュメントのセクションUser-Driven Updatesにも記載されているように、新しい更新について常に通知を受ける状況に陥る可能性があります。

通知ブロックは、追加したスレッドで実行されます。しかし、これらのAPIは、runloopを必要とするRealmsの自動更新にのみ使用できます。専用のバックグラウンドスレッドで自分自身を実行しないと、デフォルトでメインスレッドのみが実行ループを持ちます。

同期は重要な問題ではなく、これらの通知だけを使用しても、問題空間に関わるすべての課題に対して完全な解決策は得られません。

+0

はい、私もその問題に気づきました。典型的なユースケースはマルチデバイス同期です。これは実際には非常に面倒です。 – dickyj

関連する問題