NSPredate 'ODER' Filterung basierend auf einem NSArray von Schlüsseln

8

Betrachten Sie das folgende NSArray:

%Vor%

Ich bin in der Lage, dieses Array zu filtern, um Wörterbuchobjekte zu finden, die den Schlüssel key1

enthalten %Vor%

Was passend zurückkommt:

%Vor%

Nun möchte ich das dataSet für Dictionary-Objekte filtern, die ANY der Schlüssel in einem NSArray enthalten.

Wenn Sie zum Beispiel das Array: NSArray *keySet = [NSArray arrayWithObjects:@"key1", @"key3", nil]; verwenden, möchte ich ein Prädikat erstellen, das ein Array von beliebigen Dictionary-Objekten zurückgibt, die Schlüssel 'key1' oder 'enthalten (dh in diesem Beispiel würden alle Wörterbuchobjekte mit Ausnahme des dritten Objekts zurückgegeben, da sie weder 'key1' noch 'key3' enthalten).

Irgendwelche Ideen, wie ich das erreichen würde? Müsste ich ein zusammengesetztes Prädikat verwenden?

    
So Over It 20.06.2012, 08:13
quelle

3 Antworten

9

Der Operator ANY von NSPredicate deckt dies ab:

%Vor%     
Monolo 20.06.2012, 09:00
quelle
1

Mach das:

%Vor%

Funktioniert perfekt für mich. Hoffnung hilfreich

    
Paresh Navadiya 20.06.2012 08:58
quelle
1

Obwohl die Frage beantwortet wurde, könnten Sie auch block für mehr Granularität verwenden:

%Vor%

Das könnte nach Belieben neu angeordnet werden, vielleicht innerhalb seiner eigenen Methode.

    
Leonardo 20.06.2012 09:24
quelle