Las secciones y las filas no coinciden en UITableView
-
25-10-2019 - |
Pregunta
Yo uso coredata con este diseño
Ahora me gustaría mostrar una mesa con la cave.title como filas ordenadas en la región. Región como sección. Con el siguiente código muestra las secciones y las filas correctamente. El único problema es que el orden no es correcto. Las filas debajo de las secciones no pertenecen a esa sección.
NSManagedObjectContext *context = country.managedObjectContext;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
request.entity = [NSEntityDescription entityForName:@"Cave" inManagedObjectContext:context];
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"title" ascending:YES]];
request.predicate = [NSPredicate predicateWithFormat:@"country = %@", country];
request.fetchBatchSize = 20;
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc]
initWithFetchRequest:request
managedObjectContext:context
sectionNameKeyPath:@"region.region"
cacheName:nil];
[request release];
self.fetchedResultsController = frc;
¿No estoy seguro de qué parte del TableViewController debo mostrarle?
"Bätterich" debería estar en "otros" y "Pertusio Acquacalda" debería estar en "Ticino". He verificado el archivo SQL de Core Data y las referencias están allí.
Solución
Resolvió el problema utilizando los siguientes sortdescriptors
NSSortDescriptor *sortDescriptorRegion = [[NSSortDescriptor alloc] initWithKey:@"region.region" ascending:YES];
NSSortDescriptor *sortDescriptorCave = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptorRegion, sortDescriptorCave, nil];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow