23 votes

NSPredicate : Récupérer un de chaque type

Je veux créer un NSFetchRequest pour des objets comme celui-ci :

El Object es Car qui a un attribute color . J'ai quatre voitures :

car1.color = red
car2.color = red
car3.color = blue
car4.color = green

Je veux créer un NSPredicate qui ne sélectionne qu'une seule voiture pour chaque couleur (peu importe laquelle).

Comment puis-je y parvenir ?

En fait, je cherche quelque chose de similaire, comme une DISTINCT en SQL

0voto

Ratan Points 595

Essayez celui-ci :

    NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Cars"];
    NSArray *arrayValues = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];

if (arrayValues.count != 0) {
     NSDictionary *result = [NSDictionary dictionaryWithObjects:arrayValues
                           forKeys:[arrayValues valueForKey:@"color"]];
     return [result allValues];
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X