-1

はい、これは正気ではなく、すでに複雑な問題にさらに複雑さを加えています。

私の使用では、理想的には iCloud+Coredata を使用する必要があり、それはひどく失敗することで有名です。iOS7 では、完全には依存しません。そこで、クラウドのサポートを得るために他に何ができるかを検討しています。私は iPhone ユーザーなので、デーモンが統合された OS レベルという理由だけで、iCloud は私にとって非常に理想的です。少なくとも理論上は、オフラインでの変更について心配する必要はありません。

これが私がやろうと思っていることです。

これを使用したいアプリは、todolist ではなく、ハード同期を必要とするものではありません。DB には非常に単純なテーブルがdata-tableあり、folders-tabledata-folders-linker. 古き良きsqliteテーブルのように。

単一の uidocument 内にフォルダーのメタデータを保存する UIDocuments の iCLoud に同期したいと考えています。のエントリごとに、iClouddata-tableに新しいuidocumentが作成されます。

「新しい」を取得すると、新しいデバイスはuidocumentそのデータを解析して sqlite-store に入れます。

それはそれについてです。明らかに、それは完璧ではなく、あまりお勧めできません。しかし、クラウドが必要です!

すでに問題が発生しています。

  1. 新しい UIDocument が到着したことをどのように知ることができますか。
  2. 「この」UIDocumentが削除されたことをどうやって知ることができますか。
  3. すべての UIDocuments を tableView に永続化するべきではないため、それを解析して SQLite ストアに格納します。しかし、私は多くの複雑な通知を監視し、ドキュメントに何が起こったのかを把握し、sqlite-store に変更を加える必要がありました。

私がこれについて考えていた大きな理由の 1 つは、単純なデータベース構造のためです。これがどのように非常に欠陥があるか教えてください。私はそれを試みることさえすべきではありません.私はこれを私のためにやっています.クラウドサポートが本当に必要でした.

4

1 に答える 1

0

iCloud + Core Data を使用します。すべてのリレーションをオプションとしてマークし、オブジェクト ID を data-folders-linker に保存して、プログラムで強制します。あなたのデータベースは十分に単純なので、それを行うことができます。

iOS7 は、オプションではない親を持つ孤立したオブジェクトを削除し、競合の解決中に削除をカスケードします。これにより、将来的にコードを節約できます。

関係と検証は別として、ICCD には文書とキーと値の同期に関して同じ問題がありますが、粒度が異なります。

于 2013-07-17T03:21:05.813 に答える