質問: swiftで日記アプリを作っています。 実現したいことは、ローカルデータベースrealmのデータファイル(default.realm)をdropboxにバックアップし、復元することです。 そこで、日記の登録、修正、削除があったタイミングでdefault.realmをdropboxにアップロード(上書き)し、常に最新のdefault.realmに更新するところまでは実装しました。 復元の方は、アプリを再ダウンロードし、再びドロップボックスにログインしたタイミングで、バックアップしておいたdefault.realmをDocumentDirectoryのdefault.realmに上書きするという方法を考えています。 しかしこの方法だと、再ダウンロードしてからドロップボックスにログインするまでに、日記の登録があった場合に、その分のデータが消えてしまいます。 どのようにすればデータの取りこぼしなくdropboxにバックアップ、復元できるのでしょうか。よろしくお願いします。
回答: 未ログイン時に登録されたデータは別に保存しておいて、DropBoxにログインして古いデータを復元した際にマージする、という方法になると思います。 Realmではファイルを分けることは非常に簡単にできます。`Realm`インスタンスを作る時に`Realm.Configuration`オブジェクトで別のパスを指定するだけです。 そしてDropBoxに復元したデータに、未ログイン時のデータを1件ずつコピーすれば良いでしょう。