que estoy presentando la vista tabla contenidos utilizando NSFetchedResultsController
que tiene un predicado:NSFetchedResultsController con predicado ignora los cambios se fusionaron a partir de diferentes NSManagedObjectContext
[NSPredicate predicateWithFormat:@"visible == %@", [NSNumber numberWithBool:YES]]
El subproceso de fondo usando separada NSManagedObjectContext
puedo actualizar algunas de las entidades y cambiar el suyo valor visible
de NO
a YES
. Guarde, fusione cambios en el hilo principal NSManagedObjectContext
. Pero NSFetchedResultsController
's fetchedObjects
no cambia. Además, el controlador no llama al -controller:didChangeObject:...
en el delegado. Si las entidades se actualizan en el hilo principal de la misma manera (mi aplicación de prueba llama al mismo método), todo funciona como se espera.
También la notificación NSUpdatedObjectsKey
contiene esos objetos.
Actualmente las únicas soluciones que he encontrado es que llamar para cada una de las entidades NSUpdatedObjectsKey
:
NSManagedObjectContext *context = ... // main thread context
[context existingObjectWithID:[object objectID] error:nil]
Este problema es sólo con la actualizados objetos que antes no coinciden con el predicado.
¿Me falta algo obvio?
¿No es un error de Core Data? Creo que deberíamos enviar un informe de errores a Apple. Solo hice uno. – an0
¿Error? Si es así, ¿hay algún progreso? – lostintranslation
Este error finalmente se solucionó en iOS 10: https://twitter.com/an0/status/750413478620491776 – an0