NSArray с NSPredicate с использованием NOT IN

У меня есть NSArray, что я хочу отфильтровать определенные объекты с помощью NSPredicate, я надеялся, что смогу использовать NOT IN, так как увидел, что я могу легко сделать IN.

Итак, у меня есть массив:

self.categoriesList

Затем я получаю значения, которые хочу удалить:

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

Это дает мне список ParentCategoryID для категорий, которые я НЕ хочу отображать, поэтому я полагаю, что я могу использовать NSPredicate для их удаления:

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

Это не удается:

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

Если бы я хотел использовать только IN, который отлично работает, конечно.

+73
источник поделиться
2 ответа

Как насчет NOT (CategoryID IN %@)?

+180
источник

Как насчет использования NONE?

[NSPredicate predicateWithFormat:@"NONE CategoryID IN %@", parentIDs];
+1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос