Dies ist eine Folgefrage zu einem früheren Post auf saving recent searches mit Core Data.Neueste Suchergebnisse schließen sich Core-Daten an
Um Suchergebnisse zu gruppieren, habe ich eine Entität Entry und History. Entry.history ist eine Beziehung zur Geschichte. History.entries ist eine To-Many-Beziehung zu Entry (die Umkehrung von Entry.history). Der Verlauf hat ein Datumsattribut createdAt. Ich versuche herauszufinden, wie alle Entry-Entities, die zur jüngsten History-Entität gehören, in einem NSFetchedResultsController abgerufen werden.
kann ich die jüngste Geschichte Einheit erhalten wie so
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"History" inManagedObjectContext:context];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[request setFetchLimit:1];
NSArray *results = [context executeFetchRequest:request error:&error];
History *history = (History *)[results objectAtIndex:0];
Und dann der Eintrag Entitäten in den NSFetchedResultsController wie so
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"history == %@", history];
request = [[NSFetchRequest alloc] init];
entity = [NSEntityDescription entityForName:@"Entry" inManagedObjectContext:context];
[request setEntity:entity];
[request setPredicate:predicate];
fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:context sectionNameKeyPath:nil cacheName:@"Root"];
Aber ich mag dies in einem einzigen Antrag tun. Bitte beachten Sie, dass es mir nur wichtig ist, dass der hostedResultsController Entry-Ergebnisse speichert.