Обновление NSFetchedResultsController с неправильным типом обновления
Пожалуйста, ознакомьтесь с комментариями, прежде чем слепо голосовать за это как дубликат. Это н'Двойной вопрос.
Сперва я'м используюMagicalRecord
для основных данных. Второй - МойUICollectionView
населена с.NSFetchedResultsController
NSPredicate
дляNSFetchedResultsController
является ...
NSPredicate *eventPredicate = [NSPredicate predicateWithFormat:@"event = %@", self.event];
NSPredicate *deletedPredicate = [NSPredicate predicateWithFormat:@"deleted == NO"];
NSPredicate *compoundPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[eventPredicate, deletedPredicate]];
Когда я добавляю новые элементы в CoreData, используя Magical Record'ssaveWithBlock
collectionView
обновляет должным образом и анимирует изменения в представлении.
Проблема в том, что когда я меняю значение удаленного на @YES ...
[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
Photo *photo = [[self photoAtIndexPath:[self.collectionView indexPathForCell:cell]] inContext:localContext];
photo.deleted = @YES;
}];
ТогдаNSFetchedResultsController
Методы делегата стреляют, за исключением того, что они запускаются с типом измененияNSFetchedResultsChangeUpdate
, Это н'т, что это должно быть, хотя. Так должно бытьNSFetchedResultsChangeDelete
так как при изменении значения удалено следует удалить его из запроса на выборку.
Я неЯ не хочу просто удалять объект, так как мне нужно обновить сервер с удаленным идентификатором.
Кроме того, если я затем вытолкну вид и верну его обратно, фотография исчезнет, поэтому я знаю, что она обновляется должным образом, и я знаю это ».удалить его из запроса на выборку.
Есть идеи?