CoreData MultiThreading删除

时间:2011-10-06 22:09:16

标签: ios objective-c multithreading core-data nsmanagedobjectcontext

在我的iPad应用程序中,我使用多线程从我的数据库中读取数据,因此我正在使用不同的manged对象上下文,如Fred McCann's blog所述

我面临的问题是从数据库中删除项目。当我尝试删除时,我得到的错误是managedObjectContext无法删除另一个objectContext的数据。我该如何解决这个问题?

如果有人可以帮我解决这个问题会很棒。

1 个答案:

答案 0 :(得分:2)

您需要传递objectId s,然后从其他上下文中获取该对象。

NSManagedObject *object = // get the object...
NSManagedObjectID *objectID = object.objectID;
// Pass to other context on other thread...
// ...
NSManagedObject *sameObjectDifferentContext = [managedObjectContext objectWithID:objectID]