NSArray z NSPredicate używając NOT IN


90

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.

Odpowiedzi:



Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.