Actualización de NSFetchedResultsController con un tipo de actualización incorrecto

Por favor, vea los comentarios antes de votar a ciegas como un duplicado. No es una pregunta duplicada.

Primero - estoy usandoMagicalRecord para los datos básicos. Segundo - miUICollectionView se rellena con unaNSFetchedResultsController.

losNSPredicate Para elNSFetchedResultsController es ...

NSPredicate *eventPredicate = [NSPredicate predicateWithFormat:@"event = %@", self.event];
NSPredicate *deletedPredicate = [NSPredicate predicateWithFormat:@"deleted == NO"];

NSPredicate *compoundPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:@[eventPredicate, deletedPredicate]];

Cuando agrego nuevos elementos a CoreData usando Magical Record'ssaveWithBlock lacollectionView se actualiza correctamente y anima los cambios a la vista.

El problema es que cuando cambio el valor de eliminado a @YES ...

[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) {
    Photo *photo = [[self photoAtIndexPath:[self.collectionView indexPathForCell:cell]] inContext:localContext];
    photo.deleted = @YES;
}];

Entonces elNSFetchedResultsController Métodos de delegación de fuego, excepto que se dispara con el tipo de cambio.NSFetchedResultsChangeUpdate. Esto no es lo que debería ser sin embargo. Debería serNSFetchedResultsChangeDelete como cambiar el valor de borrado debería eliminarlo de la solicitud de recuperación.

No quiero simplemente eliminar el objeto, ya que necesito actualizar un servidor con la ID eliminada.

Además, si luego abro la vista y la vuelvo a insertar, la foto desaparece, así que sé que la está actualizando correctamente y sé que la está eliminando de la solicitud de recuperación.

¿Algunas ideas?

Respuestas a la pregunta(1)

Su respuesta a la pregunta