Ich habe eine große Anzahl verschiedener NSObject-Typen, die alle unterschiedliche Eigenschaften haben, und ich versuche, eine einzige Methode abstrakt zu gestalten, die es mir ermöglicht, die NSArrays der Objekte zu filtern, indem ich einfach ein NSArray von Eigenschaften übergebe, nach denen ich filtern möchte. Die Anzahl der Schlüssel, nach denen ich filtere, kann von 1 bis beliebig variieren.
Hier ist ein Beispiel für das Filter-NSArray
NSArray *filterBy = [NSArray arrayWithObjects: @"ManufacturerID", @"CustomerNumber",nil];
Diese Schlüssel existieren auch in den Objekten meines filternden NSArrays, daher müsste dies im Grunde genommen etwas wie das folgende generieren:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K == %@ AND %K == %@", [filterBy objectAtIndex:0], [items valueForKey: [filterBy objectAtindex:0], [filterBy objectAtIndex:1], [items valueForKey: [filterBy objectAtIndex:1]];
Was etwas wie ManufacturerID==18 AND CustomerNumber=='WE543'
generieren würde
Ist es möglich, dies zu tun?