NSArray con NSPredicate utilizzando NOT IN


90

Ho un NSArray che voglio filtrare determinati oggetti usando un NSPredicate, speravo di poter usare NOT IN poiché ho visto che posso facilmente fare un IN.

Quindi ho il mio array:

self.categoriesList

Quindi ottengo i valori che voglio rimuovere:

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

Questo mi dà un elenco di ParentCategoryID per le categorie che NON voglio visualizzare, quindi immagino di poter utilizzare un NSPredicate per rimuoverle:

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

Questo fallisce:

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

Se volessi usare solo IN, ovviamente funziona perfettamente.

Risposte:



Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.