NSMergeConflict с несколькими потоками - PullRequest
1 голос
/ 03 октября 2011
A 1 <----> * B

Я использую основные данные в приложении для iOS.A и B являются объектами, которые имеют отношение 1-ко-многим между A и B. У меня есть фоновый поток, который обновляет и создает B. A обновляется в основном потоке, за исключением случаев, когда я добавляю B в A в фоновом потоке,из-за обратной связи А обновляется.У меня есть отдельные МОС для основного и фонового потока.

Я добавил mergeChangesFromContextDidSaveNotification: в основной поток, но я получил NSMergeConflict в фоновом потоке для A. Просмотр userInfo из NSMergeConflict не помогает, потому чтовсе атрибуты одинаковы, я считаю, что многие отношения противоречат друг другу, и они не возвращаются nsmergeconflict.

Я пытался добавить mergeChangesFromContextDidSaveNotification: в фоновый поток, но теперь он блокируется, когда оба потока пытаются сохранить.

Я просмотрел ответ на этот NSMergeConflict вопрос .Я попытался добавить уведомление mergeChangesFromContextDidSaveNotification:, но все еще вижу NSMergeConflict.Я не думаю, что какой-либо из параметров NSMergePolicy применим, потому что я хочу сохранить все постоянные изменения магазина, кроме отношений.Мне также непонятно, как я могу «вручную разрешать любые конфликты».

Как бы я мог разрешить или избежать этих конфликтов?

...