NSArray mit NSPredicate unter Verwendung von NOT IN


90

Ich habe ein NSArray, mit dem ich bestimmte Objekte mithilfe eines NSPredicate herausfiltern möchte. Ich hatte gehofft, dass ich NOT IN verwenden kann, da ich gesehen habe, dass ich problemlos ein IN ausführen kann.

Also habe ich mein Array:

self.categoriesList

Dann erhalte ich die Werte, die ich entfernen möchte:

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

Dies gibt mir eine Liste der ParentCategoryIDs für Kategorien, die ich NICHT anzeigen möchte, sodass ich denke, dass ich ein NSPredicate verwenden kann, um sie zu entfernen:

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

Dies schlägt fehl:

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

Wenn ich nur IN verwenden wollte, funktioniert das natürlich perfekt.

Antworten:



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.