Eine eindeutige Ergebnismenge mit Core Data erhalten

Ich habe eine datenbasierte Kern-App, die eine Reihe von Entitäten verwaltet. Ich freue mich darauf, in der Lage zu sein, Folgendes zu tun.

Ich habe eine Entität "SomeEntity" mit den Attributen: Name, Typ, Rang, Foo1, Foo2.

Now, SomeEntity hat mehrere Zeilen, wenn wir streng in SQL sprechen. Ich versuche, nur verfügbare Typen abzurufen, obwohl jede Instanz doppelte Typen haben kann. Ich muss sie auch in der Reihenfolge ihres Ranges zurückgeben. Also in SQL, was ich suche, ist das folgende:

SELECT DISTINCT(type) ORDER BY rank ASC

Hier ist der Code, den ich bisher habe, der kaputt geht:

NSError *error = NULL;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setReturnsDistinctResults:YES];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"type", @"rank", nil]];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"SomeEntity" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];

// sort by rank
NSSortDescriptor *rankDescriptor = [[NSSortDescriptor alloc] initWithKey:@"rank" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:rankDescriptor,nil];
[fetchRequest setSortDescriptors:sortDescriptors];
[sortDescriptors release];
[rankDescriptor release];

NSArray *fetchResults = [managedObjectContext executeFetchRequest:fetchRequest error:&error];

[fetchRequest release];

return fetchResults;

Right jetzt, das mit dem folgenden abstürzt:Invalid keypath section passed to setPropertiesToFetch:

Antworten auf die Frage(1)

Ihre Antwort auf die Frage