架构/示例,用于使CoreData与Web同步

我正在寻找示例应用程序或更多架构讨论来构建应用程序,该应用程序维护本地持久性存储(CoreData)并使其与像Flickr之类的Web服务保持同步。 在我的情况下,它是Salesforce,但该模式应该类似于Flickr,Twitter,IMAP等许多应用程序。

示例问题:调用同步的最佳点在哪里? 什么是经过验证的数据结构来维持本地变化 - 在本地商店中为每一个不相交的变化维护一个“变化的”BOOL; 我宁愿一个字段级别的标志对记录级别标志)?

当然,我必须自己来优化这个,知道记录的数量(100)和变化(每天10个)以及冲突的可能性(在我的情况下,在现场级别低)。


以下是我将如何处理这个问题:

  • 首先建模镜像您的在线数据库的本地CoreData / Sqlite数据库。
  • 将NSDate lastModified属性添加到每个表的每一行。 这将允许我跟踪记录级别的变化,而不是字段级别。 这有助于降低同步复杂性,并且在大多数现实世界的情况下,记录级同步就足够了。
  • 在应用程序启动时执行自动同步,并在导航栏中提供突出的“同步”按钮。 通过这种方式,用户在长时间之后启动应用程序时始终会有更新的数据集,并且可以在一天中同步最新的更改。 我会避免在使用应用程序时进行背景同步。 当您尝试解决其他问题时,这会让您的应用更加复杂且容易出错。 所以推迟后台/自动同步,直到你有其他工作。
  • 一旦我的同步在启动和点播时工作得相当好,我会尝试并支持后台同步。 我也会尝试并消除“同步”按钮,这样用户就不必考虑同步 - (就用户而言,它始终是最新的)。 但这将是一个较长期的增强,我会尝试只有在“按需”同步工作稳定后才能尝试。
  • 希望这可以帮助你开始。 我很想听听你是否对这些问题有不同的看法。

    链接地址: http://www.djcxy.com/p/10647.html

    上一篇: architecture/sample for synchronizing CoreData against Web

    下一篇: can't activate profiles in multi