建议:将sqlite ios同步到网络的最佳方法

时间:2012-12-30 02:55:31

标签: objective-c ios sqlite core-data synchronization

如果我愿意,可以在这里提出一些建议和建议。

我正在创建一个iPad应用程序(IOS6),它将数据写入设备上的本地数据库,然后立即或稍后复制记录到Web服务(基本上是云服务)。

你认为最好的方法是什么?

我想在本地数据库中有一个名为“synced”的列,并在创建记录时立即将标志设置为“0”,然后立即或在定期间隔内同步记录“0” 。然后显然在复制每条记录时将标志设置为“1”。

我希望该应用脱机工作,然后在设备与我的网络服务建立可用连接时进行同步。

理想情况下,应立即或几秒钟后复制每条记录,但如果没有网络连接,我希望能够将复制排队。

那么你认为最好的方法是什么?在此先感谢:)

1 个答案:

答案 0 :(得分:2)

解决方案将在很大程度上取决于您的整体解决方案的复杂程度。

例如,如果仅在本地设备上创建记录然后上传,而不进行修改,那么您的解决方案将绰绰有余。

但是,如果您允许更新本地设备上的记录,或者记录可以在进入您的Web服务后更新,那么您需要开始管理冲突解决方案。我们解决这种情况的方法是在“主”数据库(由Web服务更新的数据库)中记录时间戳,并在将记录上载为新记录或更新时同步该时间戳。当用户更新记录时,我们发送时间戳,如果数据库中的值与发送的数据库不同,则拒绝更新请求。当然,这种冲突解决方法有不同的方法,这只适用于我们的应用程序和用户。