91 votes

NSArray avec NSPredicate en utilisant NOT IN

J'ai un NSArray que je veux filtrer certains objets à l'aide d'un NSPredicate, j'espérais que je pourrais utiliser PAS depuis que j'ai vu que je peux le faire facilement une.

Donc, j'ai mon tableau:

self.categoriesList

Puis-je obtenir les valeurs que je veux supprimer:

NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"];

Cela me donne une liste de ParentCategoryID pour les catégories, je NE veux PAS d'affichage, donc je me dis que je peux utiliser un NSPredicate pour les supprimer:

self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]];

Cette échoue:

reason: 'Unable to parse the format string "CategoryID NOT IN %@"'

Si je voulais utiliser juste DANS ce qui fonctionne parfaitement bien sûr.

224voto

dreamlax Points 47152

Qu'en est-il NOT (CategoryID IN %@) ?

2voto

Mark Adams Points 17189

Que diriez-vous d'utiliser NONE ?

 [NSPredicate predicateWithFormat:@"NONE CategoryID IN %@", parentIDs];
 

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