我有一个使用Core Data作为存储的通用iPhone / iPad应用程序。我希望用户能够在两个设备(iPhone,iPod和iPad)之间同步数据。
是否有任何示例应用程序或代码执行此操作?
答案 0 :(得分:1)
您只需要编写一个常规的Core Data应用程序,并且作为一个与Core-Data无关的一般问题,找出在两个联网设备之间打包和交换数据的好方法。
一种方法是使用JSON或XML封装在两个设备之间同步的Core Data实体数据。您可以在两个设备上运行Web服务器以交换JSON或XML封装的数据。
当Web服务器收到请求和数据包时,它会将新实体添加到Core Data存储中,就像任何其他本地应用程序一样。
只需在“JSON”,“XML”和“网络服务”上搜索Google或您最喜欢的搜索引擎。有许多第三方Objective-C框架可用于处理JSON和XML,以及用于发出Web请求和接收它们。
答案 1 :(得分:0)
要重新提出这个问题:新实体的插入是否会保留另一个持久存储中存在的关系?例如:
用户在iPhone上设置与实体B有关系的实体A(反之为真)。用户将应用程序与iPad版本(没有数据)同步 - 成功完成同步的唯一方法是插入新的实体A和B,其属性和关系从同步实体“复制”。既然您现在已将新的托管对象插入到新的持久性商店中,那么iPad应用程序是否会设置正确的关系?
Core Data文档明确指出,两个托管对象不能属于多个持久性存储,并且要求插入具有相同数据的新对象。但是,我担心通过这种关系将无法正确配置。