我正在构建一个带有数据库的iPhone应用程序(我很可能是第一次使用Core Data,但是根据你的答案,我仍然可以使用SQLite。)
该数据库的内容应该从一些在线存储(很可能是MySQL数据库)定期更新。
由于初始数据库相当大,它将在应用程序中,因此用户无需下载,更新将相当小,以便可以下载。您可以看到“Delta”更新是必须的(每次下载整个数据集的数据太多)。更新将包含一些新记录,并最终对现有记录进行一些更正
本地数据库将有一些需要更新的表/实体(它们之间有很多关系),这些表/实体将是只读的(*)。将有另外几个表/实体,用户可以在其中输入注释(读/写),但它们永远不必更新,这是私有用户数据。事实上,我有时会创建一个只有1-1关系的额外表,以保持良好的分离(数据集表/实体与注释表/实体)。
有人可以为我提供一种在线生成文件的方法,其中包含数据库中的所有更改,可以下载到手机并高效且正确地解析,以便应用这些更改/新记录。我一直在想类似于Rails用于维护其数据库的迁移,但似乎找不到任何看起来干净和高效的东西。记住不同表格/实体之间的数据关系是非常重要的,这是我的灵感失败......
(*)对于开始只读,稍后用户将能够添加记录并进行编辑。他永远无法编辑现有记录,他自己的记录也不需要返回服务器。
答案 0 :(得分:3)
在广泛的建筑意义上,我建议这就是:
我不能足够推荐RestKit。坚持几个小时的学习曲线,你永远不会回头。
答案 1 :(得分:0)
作为替代方案,我建议使用AFNetworking + MagicalRecord,因为你在提问中提到了Rails。 (Restkit对我来说太复杂了)