NSArray com NSPredicate usando NOT IN


90

Eu tenho um NSArray que quero filtrar certos objetos usando um NSPredicate, esperava poder usar NOT IN, pois vi que posso facilmente fazer um IN.

Então, eu tenho meu array:

self.categoriesList

Então, obtenho os valores que desejo remover:

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

Isso me dá uma lista de ParentCategoryIDs para categorias que NÃO desejo exibir, então acho que posso usar um NSPredicate para removê-los:

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

Isso falha:

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

Se eu quisesse usar apenas IN, isso funcionaria perfeitamente, é claro.

Respostas:



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.