【问题标题】:Importing Large Dataset in Core Data在 Core Data 中导入大型数据集
【发布时间】:2012-02-03 14:10:19
【问题描述】:
我正在尝试根据这个solution.导入大量数据建议每个导入线程应该有自己的managedObjectContext,并且它们不能传递任何managedObject。所以,我的问题是,如果两个对象是在不同的 MOC 中创建的,我们如何设置关系?
PS:在线程中保存 MOC 后,通知主 MOC 合并上下文。所以新对象的相关对象总是位于主 MOC 中。换句话说,相关对象已经创建。
【问题讨论】:
标签:
iphone
core-data
nsmanagedobjectcontext
large-data
【解决方案1】:
你不能在线程之间传递NSManagedObjects,但是你可以传递NSManagedObjectIDs。
传递这些,然后从要在其中设置关系的上下文中检索对象本身。
【讨论】:
-
谢谢,在我查看了苹果关于Concurrency with Core Data 的文档后,我发现Pass its object ID (objectID) and use objectWithID: or existingObjectWithID:error: on the receiving managed object context. 对我帮助很大
-