У меня есть две сущности в моей модели базовых данных. Entity1 и Entity2. Entity1 имеет отношение один к одному, которое связано с Entity2. Когда я открываю / сохраняю объекты в одном потоке, все работает нормально
Теперь я начинаю использовать фоновый поток для некоторой обработки. Я передаю NSManagedObjectID моего entity1 во второй поток, а также передаю NSPersistentStoreCoordinator во второй поток. Второй поток создает новый managedObjectContext, загружает entity1 с использованием managedObjectID, а затем загружает entity2 с помощью Relationship from entity1. Кажется, все это работает, и я могу получить доступ к entity2.
Однако, если я хочу изменить entity2, когда я сохраняю изменения, я получаю ошибку конфликта слияния "Операция не может быть завершена. (Ошибка Какао 133020.)". Глядя на сообщение об ошибке, единственное, что отличается между «до» и «после», это ссылка на entity2, которая указывает на entity1. В этом случае ничто другое не отличается (я сохраняю, хотя я не изменил другие атрибуты). Это имеет смысл для меня, потому что entity1 в моем потоке2 - это другой объект, чем entity1 в моем потоке1 ... поэтому ссылка на него должна отличаться.
Так как же я могу сохранить данные из моего потока 2? Кажется, эта ссылка всегда будет отличаться между двумя моими потоками ...
Любые предложения будут полезны! Заранее спасибо.