22958


swiftで日記アプリを作っています。

実現したいことは、ローカルデータベースrealmのデータファイル（default.realm）をdropboxにバックアップし、復元することです。

そこで、日記の登録、修正、削除があったタイミングでdefault.realmをdropboxにアップロード（上書き）し、常に最新のdefault.realmに更新するところまでは実装しました。

復元の方は、アプリを再ダウンロードし、再びドロップボックスにログインしたタイミングで、バックアップしておいたdefault.realmをDocumentDirectoryのdefault.realmに上書きするという方法を考えています。  
しかしこの方法だと、再ダウンロードしてからドロップボックスにログインするまでに、日記の登録があった場合に、その分のデータが消えてしまいます。

どのようにすればデータの取りこぼしなくdropboxにバックアップ、復元できるのでしょうか。よろしくお願いします。


CC BY-SA 3.0
2016-03-09T14:02:08.233
22955
2016-03-09T18:32:18.440
10791
question
swift realm swift2 dropbox
realmのデータファイルをdropboxにバックアップし、復元する方法について


未ログイン時に登録されたデータは別に保存しておいて、DropBoxにログインして古いデータを復元した際にマージする、という方法になると思います。

Realmではファイルを分けることは非常に簡単にできます。`Realm`インスタンスを作る時に`Realm.Configuration`オブジェクトで別のパスを指定するだけです。

そしてDropBoxに復元したデータに、未ログイン時のデータを１件ずつコピーすれば良いでしょう。


CC BY-SA 3.0
2016-03-09T18:32:18.440
22958
2016-03-09T18:32:18.440
5519
22955
answer