Domanda

Io uso CoreData con questo layout

entrare descrizione dell'immagine qui

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?

entrare descrizione dell'immagine qui

"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ì.

È stato utile?

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
scroll top