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


у меня есть NSArray, который я хочу отфильтровать определенные объекты с помощью NSPredicate, я надеялся, что смогу использовать не 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 %@"'

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

2 79

2 ответа:

а как же NOT (CategoryID IN %@)?

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

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