Я представляю содержимое табличного представления, используя NSFetchedResultsController
с предикатом:
[NSPredicate predicateWithFormat:@"visible == %@", [NSNumber numberWithBool:YES]]
В фоновом потоке, используя отдельные NSManagedObjectContext
Я обновляю несколько сущностей и меняю их visible
значение с *От 1007 * до YES
.Сохранить, объединить изменения в основной теме NSManagedObjectContext
.Но NSFetchedResultsController
fetchedObjects
не меняется.Также контроллер не вызывает -controller:didChangeObject:...
для делегата.Если сущности обновляются в главном потоке одинаковым образом (мое тестовое приложение вызывает тот же метод), все работает должным образом.
Также в уведомлении NSUpdatedObjectsKey
содержатся эти объекты.
В настоящее время единственные решенияЯ обнаружил, что нужно вызывать каждую из NSUpdatedObjectsKey
сущностей:
NSManagedObjectContext *context = ... // main thread context
[context existingObjectWithID:[object objectID] error:nil]
Эта проблема возникает только с обновленными объектами, которые ранее не соответствовали предикату.
Я что-то упускаю из виду?