Mam NSArray, który chcę odfiltrować pewne obiekty za pomocą NSPredicate. Miałem nadzieję, że mogę użyć NOT IN, ponieważ zobaczyłem, że mogę łatwo wykonać IN.
Więc mam swoją tablicę:
self.categoriesList
Następnie otrzymuję wartości, które chcę usunąć:
NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"];
To daje mi listę ParentCategoryID dla kategorii, których NIE chcę wyświetlać, więc myślę, że mogę użyć NSPredicate, aby je usunąć:
self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]];
To się nie udaje:
reason: 'Unable to parse the format string "CategoryID NOT IN %@"'
Gdybym chciał użyć tylko IN, to oczywiście działa doskonale.