-1

是的,这太疯狂了,给已经很复杂的问题增加了更多的复杂性。

我的使用要求我理想地使用 iCloud+Coredata,它以失败而闻名。在 iOS7 中我不会完全依赖它。所以我想看看我还能做些什么来获得一些云支持。由于我是 iPhone 用户,iCloud 对我来说非常理想,因为它集成了守护进程 OS 级别。至少在理论上,我不必担心我的离线更改。

这就是我想做的事情。

我要使用的应用不是 todolist,也不是需要硬同步的应用。数据库有非常简单的表 ,data-table和。就像旧的 sqlite 表一样。folders-tabledata-folders-linker

我想将它同步到 UIDocuments 中的 iCLoud,我会将文件夹元数据存储在单个 uidocument 中。对于 中的每个条目,将在 iCloud 中创建data-table一个新条目。uidocument

获得“新”的新设备uidocument会将其数据解析到 sqlite-store。

就是这样。显然,它并不完美,也不可取。但我需要云!

我已经看到了问题。

  1. 如何知道一个新的 UIDocument 已经到来。
  2. 我怎么知道“这个” UIDocument 被删除了。
  3. 由于我不应该将所有 UIDocuments 持久化到 tableView 中,因此我会将其解析到 SQLite 存储中。但是我必须监控很多复杂的通知并弄清楚文档发生了什么并对 sqlite-store 进行更改。

我考虑这个的一个重要原因只是因为我简单的数据库结构。请告诉我这是如何存在超级缺陷的,我什至不应该尝试它,我正在为我这样做,并且真的需要一些云支持。

4

1 回答 1

0

使用 iCloud + 核心数据。将所有关系标记为可选,将对象 ID 存储在数据文件夹链接器中,并以编程方式强制执行它们。您可以这样做,因为您的数据库足够简单。

iOS7 甚至可以删除带有非可选父对象的孤立对象,并在冲突解决期间级联删除。这将为您将来节省一些代码。

撇开关系和验证不谈,ICCD 存在文档和键值同步的相同问题,只是粒度不同。

于 2013-07-17T03:21:05.813 回答