NSArray con NSPredicate usando NOT IN


90

Tengo un NSArray que quiero filtrar ciertos objetos usando un NSPredicate, esperaba poder usar NOT IN ya que vi que puedo hacer un IN fácilmente.

Entonces tengo mi matriz:

self.categoriesList

Luego obtengo los valores que quiero eliminar:

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

Esto me da una lista de ParentCategoryID para las categorías que NO quiero mostrar, así que supongo que puedo usar un NSPredicate para eliminarlas:

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

Esto falla:

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

Si quisiera usar solo IN, eso funciona perfectamente, por supuesto.

Respuestas:



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.