2010-08-17 82 views
0

希望得到关于此的一些明确建议。实时应用程序中的核心数据更新

我想在应用程序运行时将更新推送到我的应用程序。我计划通过修改随应用程序附带的sqlite来完成此操作,然后让应用程序下载它。简单。

我还没有计算出实际上如何让应用程序看到新的数据,虽然..我可以覆盖文档目录中的sqlite,但应用程序必须重新启动才能接收新数据 - 无好。作为第一步,我不介意对其进行的修改是否丢失,但我确实在寻找一种方法来保留对数据的任何修改,并根据新的sqlite添加/删除条目。它将是整个数据集而不仅仅是变化。

由于数据相当复杂,但我可以通过基于相同内核数据模型的桌面应用程序进行管理,因此我正在走这条道路。

有没有一个共同的方法,或者一种方法来实现这一目标?

谢谢。

+0

有没有人知道这一点?我的模型没有从v1更改为v2。但对于我的应用程序的第2版,我想向用户的SQL数据库添加一些记录。我不能为了我的生活而弄清楚如何在一些新的记录中下滑。 – RyeMAC3 2011-04-07 23:19:20

回答

2

没有简单的方法可以完全合并到两个Core Data存储SQL或其他方式。

维护对象图的完整性需要通过使用与用于创建商店的模型相同的模型的上下文将新数据插入到现有商店中。换句话说,向商店批量添加新数据与从UI中一次添加一件商品的逻辑流程相同。你插入NSManagedObject实例,填充它们,设置它们的关系并保存它们。

理论上,您可以编写出色的代码库,将新旧SQL数据库合并到Core Data可以读取的新SQL存储中。然而,当苹果未来发生某些事情时,这很复杂,没有支持,并且很可能会中断。

我建议让应用程序自己从服务器上零碎地下载数据,然后将新数据插入到现有的商店中。使用类似JSON的方式发送数据是很简单的。或者,您可以下载新的商店,将其添加到现有的持久性商店协调员,然后创建克隆旧商店中的新对象。然后从协调器中删除下载的商店并删除下载的商店文件。

+0

感谢TechZen,我试图避免编写一个web应用程序(尽管很简单)来提供iPhone应用程序。由于处理多个商店没有解决问题,我正在走JSON路径。 – michael 2010-09-08 06:03:51

相关问题