Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone live app中的核心数据更新_Iphone_Core Data_Ios - Fatal编程技术网

Iphone live app中的核心数据更新

Iphone live app中的核心数据更新,iphone,core-data,ios,Iphone,Core Data,Ios,希望得到一些明确的建议 我想在我的应用程序处于活动状态时推送更新。我计划修改应用程序附带的sqlite,然后让应用程序下载它。简单 不过,我还没有弄清楚如何让应用程序真正看到新数据。。我可以覆盖documents目录中的sqlite,但是必须重新启动应用程序才能获取新数据-这不好。作为第一步,我不介意对它的修改是否丢失,但我确实在寻找一种方法来保留对数据的任何修改,并基于新的sqlite添加/删除条目。它将是整个数据集,而不仅仅是更改 我走这条路是因为数据非常复杂,但可以通过基于相同核心数据模型

希望得到一些明确的建议

我想在我的应用程序处于活动状态时推送更新。我计划修改应用程序附带的sqlite,然后让应用程序下载它。简单

不过,我还没有弄清楚如何让应用程序真正看到新数据。。我可以覆盖documents目录中的sqlite,但是必须重新启动应用程序才能获取新数据-这不好。作为第一步,我不介意对它的修改是否丢失,但我确实在寻找一种方法来保留对数据的任何修改,并基于新的sqlite添加/删除条目。它将是整个数据集,而不仅仅是更改

我走这条路是因为数据非常复杂,但可以通过基于相同核心数据模型的桌面应用程序进行管理

有没有一个共同的方法,或者根本没有一个方法来实现这一点


谢谢。

没有简单的方法可以完全合并到两个核心数据存储区—SQL或其他方式

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

理论上,您可以编写大量代码将新旧SQL数据库合并到新的SQL存储中,核心数据可以读取。然而,这是一个复杂的、不受支持的问题,而且当苹果在未来重新推出某些产品时,这一点很可能会被打破


我建议让应用程序自己从服务器上逐段下载数据,然后将新数据插入现有存储。使用JSON之类的东西发送数据很简单。或者,您可以下载一个新存储,将其添加到现有的持久存储协调器,然后在旧存储中创建新对象的克隆。然后从协调器中删除下载的存储并删除下载的存储文件

感谢TechZen,我试图避免编写一个webapp(尽管很简单)来为iPhone应用程序提供支持。我正在走JSON的道路,因为处理多个存储是行不通的。有人知道这一点吗?我的型号没有从v1改为v2。但对于我的应用程序v2,我想向用户的SQL数据库添加一些记录。我一辈子都搞不懂如何插进几张新唱片。