Estoy colocando NSFetchedResultsController en mi código, así que obtengo esa buena sección automática de los datos de mi vista de tabla.Cómo configurar correctamente NSFetchedResultsController
Estoy ejecutando una prueba para asegurarme de que todo funciona correctamente. Tengo una única entidad de Libro en mi tienda persistente. Primero realizaré la búsqueda al estilo anterior, luego intentaré usar NSFetchedResultsController. La diferencia entre los 2 bloques de código es solo 2 líneas.
Código sin NSFetchedResultsController:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:kBookEntityName inManagedObjectContext:self.managedObjectContext];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[sortDescriptor release];
[sortDescriptors release];
//The following 2 lines will be replaced by the NSFetchedResultsController
NSMutableArray *mutableFetchResults = [[[self.managedObjectContext executeFetchRequest:request error:nil] mutableCopy] autorelease];
Book *result = (Book*)[mutableFetchResults objectAtIndex:0];
NSString* title = [result valueForKey:@"title"];
NSString* priority = [result valueForKeyPath:@"priority.name"];
[request release];
Ahora suplente en las líneas para el NSFetchedResultsController:
NSFetchedResultsController* fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"title" cacheName:@"BookList"];
Book *result = (Book*)[fetchedResultsController objectAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
parece bastante corta y seca. El primer bloque de código recupera correctamente la entidad de Libro individual. El código con NSFetchedResultsController, sin embargo, no. En cambio, devuelve nil.
Mi pregunta es: ¿estoy configurando adecuadamente NSFetchedResultsController en este ejemplo?
(nota, la propiedad fetchedObjects del NSFetchedResultsController también es nulo)
la organización del "título" es solo una prueba para ponerlo en funcionamiento. De hecho, quiero seccionar por una ruta clave sobre el nombre del autor, pero quiero que funcione con un simple ejemplo. –
Eso es bastante triste porque no llevé a cabo la búsqueda. No sé por qué asumí que la búsqueda se realizó en la inicialización. Gracias –
gracias, que me ayuden :) – mateusmaso