Когда слияние с NSManagedObjectContext изменяется в существующих объектах, данные в NSFetchedResultsController не обновляются - PullRequest
0 голосов
/ 30 июня 2011

Имеется:

  • 2 потока;
  • Каждая нить имеет свои NSManagedObjectContext;
  • Каждая нить имеет свои NSFetchedResultsController;
  • Делегаты NSFetchedResultsControllers не нулевые;
  • В основном потоке NSFetchedResultsController используется для работы с таблицами;
  • Во вторичном потоке NSFetchedResultsController используется только для доступа к данным.

Если вы добавили новые объекты, изменения объединяются с содержимым второго потока NSManagedObjectContext.

Если объекты были добавлены, то NSFetchedResultsController обновляетданные в соответствии с запросом.Если свойства существующих объектов были изменены, то NSFetchedResultsController не обновляет данные.

Почему это происходит?

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

Наиболее вероятная причина в том, что вы не реализовали метод делегата FRC:

– controller:didChangeObject:atIndexPath:forChangeType:newIndexPath: 

... правильно. В частности, вам нужно проверить тип изменения NSFetchedResultsChangeUpdate, а затем обновить ячейку строки таблицы для этого конкретного объекта с измененным значением.

0 голосов
/ 30 июня 2011

Ваш путь обновления кода отличается от пути вставки кода? Если да, подтвердили ли вы, что путь обновления кода сохраняет изменения в контексте?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...