iphone - 需要 iOS 数据库云设计技巧

标签 iphone sql database ios sqlite

我有一个使用 SQLite 数据库的应用程序。随着 iCloud 的兴起,我正试图找出一个好的架构来在设备之间同步数据。假设我的应用程序在 iPhone、iPad 和 Mac 上运行。如何使我的数据库中的数据在所有设备上保持最新?

我的第一个想法是,我可以将数据库放在云端并发送交易。但是设备可能并不总是在线,用户随时都需要他们的内容,所以这行不通。我的另一个想法是继续使用本地数据库,然后在建立连接时将缓存的数据发送到中央数据库。问题是我什至不知道从哪里开始做这样的事情。我怎么知道哪些数据已发送,哪些数据未发送,建立连接时实际发送哪些数据等。

所以这是我的问题(我们不必深入了解 iCloud 的细节),使用 SQLite 数据库和 iCloud(或任何存储介质),我如何在多个设备之间同步数据,但仍然有最新的数据本地存储在设备上?

最佳答案

您可能想要结帐 Couchbase Mobile .这将有助于您正在寻找的同步。

如果您对 CoreData 进行了大量投资,那么您可能想考虑编写自己的 NSIncrementalStore支持向键值存储和从键值存储写入数据。

只有当您的数据被沙盒化到特定用户时,iCloud 才是一个好的解决方案。如果您有多个用户想要查看相同的数据,那么它将不起作用。

关于iphone - 需要 iOS 数据库云设计技巧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7125231/

相关文章:

Iphone UIView 切换 : Previous view's subviews polluting newly switched-to view

sql - 为什么仅索引扫描需要这么长时间?

iphone - UIImage 在低内存情况下如何工作?

ios - 自定义 moreNavigationController 的 tableview 和类似的用户界面

mysql - 相同查询 MySQL 用户定义变量

MySQL where 子句中的未知列(UNION)

r - R中下一整年的上个月年值

sql - 在 Django 模型上执行 INNER JOIN、GROUP BY 和 COUNT

iphone - 境界+快速排序

c++ - 虚拟机运行Qt程序报错 "QSQLITE driver not loaded"