Ios 将数据流读入托管对象上下文?

Ios 将数据流读入托管对象上下文?,ios,core-data,base64,Ios,Core Data,Base64,我见过一种通过沙盒将用户数据从一个iOS应用升级到另一个iOS应用的巧妙方法;目标应用程序注册为一个特殊的URL处理程序,源应用程序base64对整个文件进行编码,并将其作为明文字符串发送到专门的URL,目标应用程序对该URL进行解码并保存到文件系统 是否可以对源站的托管对象上下文进行编码并发送该内容,以及让目标站将其解析为其托管对象上下文?也就是说,不是过度写入目的地数据,而是合并传入数据?这个问题的答案仅仅是“您可以对传入的数据做任何您想做的事情”吗 编辑: 我还没有使用过,但计划使用讨论过

我见过一种通过沙盒将用户数据从一个iOS应用升级到另一个iOS应用的巧妙方法;目标应用程序注册为一个特殊的URL处理程序,源应用程序base64对整个文件进行编码,并将其作为明文字符串发送到专门的URL,目标应用程序对该URL进行解码并保存到文件系统

是否可以对源站的托管对象上下文进行编码并发送该内容,以及让目标站将其解析为其托管对象上下文?也就是说,不是过度写入目的地数据,而是合并传入数据?这个问题的答案仅仅是“您可以对传入的数据做任何您想做的事情”吗

编辑:


我还没有使用过,但计划使用讨论过的data-to-text-to-url-to-url处理程序-to-data方法。假设这是可行的,我的问题是,目标能否将数据解析为我插入到目标托管对象上下文中的托管对象?源和目标具有相同的托管对象模型。

如果发送整个.sqlite文件本身的内容,则可以尝试执行此操作。您必须让目标应用程序从保存到目标沙盒中的文件构建一个完整的(即,
NSPersistentObjectStoreCoordinator
)核心数据堆栈<如果您有两个堆栈已经指向同一URL(您创建了
NSManagedObjectModel
,然后通过
[[NSPersistentStoreCoordinator alloc]initWithManagedObjectModel:model]初始化了
NSPersistentStoreCoordinator
,则最好使用code>NSManagedObjectID
s

不,您不能在这样的应用程序实例之间共享内存。因此,如果我将传输的数据保存到目标中的一个持久性存储中,然后将其拉入目标的托管对象上下文,然后保存合并的上下文,我可以将其拔出。我将尝试此tout套件!是的,尽管我将其命名为“将传输的数据保存到新的.sqlite文件中,然后构建指向该文件的全新NSPersistentStoreCoordinator,然后创建使用此新NSPersistentStoreCoordinator的新NSManagedObjectContext:”到目前为止还不错;我有两个对象上下文,都使用相同的对象模型,但每个都使用自己的持久存储。现在我想将一个上下文中的数据添加到另一个上下文中,但属性具有关系,当我尝试逐对象添加时,这些关系现在变成了跨存储的关系。我是否使用新的属性创建第三个上下文没有关系但有属性来保存关系中的id集的模型?我认为您最初的问题是关于.xcdatamodel(以及关联模型)的升级来自不同的iOS应用程序/沙箱。如果您试图保留任何数据,您需要查看核心迁移,它允许您在保留数据的同时发布对.xcdatamodel的更改(例如添加关系、列等)。谢谢@scc,您已经帮了大忙!