J'ai un NSArray que je veux filtrer certains objets en utilisant un NSPredicate, j'espérais pouvoir utiliser NOT IN car j'ai vu que je pouvais facilement faire un IN.
J'ai donc mon tableau:
self.categoriesList
Ensuite, j'obtiens les valeurs que je veux supprimer:
NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"];
Cela me donne une liste de ParentCategoryID pour les catégories que je ne veux pas afficher, donc je pense que je peux utiliser un NSPredicate pour les supprimer:
self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]];
Cela échoue:
reason: 'Unable to parse the format string "CategoryID NOT IN %@"'
Si je voulais utiliser juste IN, cela fonctionne parfaitement bien sûr.
Qu'en est-il de NOT (CategoryID IN %@)
?
Que diriez-vous d'utiliser NONE
?
[NSPredicate predicateWithFormat:@"NONE CategoryID IN %@", parentIDs];