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.