CoreData MultiThreading Удалить - PullRequest
       23

CoreData MultiThreading Удалить

2 голосов
/ 07 октября 2011

В своем приложении для iPad я использую многопоточность для чтения данных из своей базы данных, и поэтому я использую различные контексты управляемых объектов, как объяснено Блог Фреда МакКанна

Проблема, с которой я сталкиваюсь, заключается впри удалении элементов из базы данных.Когда я пытаюсь удалить, я получаю сообщение об ошибке, что managedObjectContext не может удалить данные другого objectContext.Как мне решить эту проблему?

Было бы здорово, если бы кто-то помог мне с этим.

1 Ответ

2 голосов
/ 07 октября 2011

Вам нужно передать objectId с, а затем получить этот объект из другого контекста.

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