le sezioni e le righe non corrispondono a UITableView
-
25-10-2019 - |
Domanda
Io uso CoreData con questo layout
Ora vorrei mostrare un tavolo con il Cave.title come righe ordinato nella Region.region come sezione. Con il codice seguente mostra le sezioni e le righe correttamente. L'unico problema è che l'ordine non è giusto. Le righe sotto sezioni non appartengono a quella sezione.
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;
Non sono sicuro di quale parte del tableviewcontroller dovrei mostrare a voi?
"Bätterich" dovrebbe essere in "Altro" e "Pertusio Acquacalda" dovrebbe essere in "Ticino" Ho controllato il file sql di Core Data ei riferimenti sono proprio lì.
Soluzione
Risolto il problema utilizzando i seguenti 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];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow