Ich habe und Array von benutzerdefinierten Objekten der Personenklasse
%Vor%Jetzt enthält personalsArray 3 Objekte von Person-Objekten.
Können wir diese Objekte nach Attributen wie Alter oder Vorname ordnen?
Mein erwartetes Ergebnis ist
%Vor%Ich weiß, dass ich dieses Ergebnis erhalten kann, indem ich ein NSDictionary erstelle und dann durch personsArray iteriere, dann überprüfe für jedes erste
%Vor%Aber gibt es einen besseren Weg?
Wenn ich @distinctUnionOfObjects
verwende, kann ich nur nach String-Objekten gruppieren (nicht solche benutzerdefinierten Objekte. Habe ich Recht?).
Danke für die Antwort im Voraus.
Beantworten Sie diese Frage, es ist sehr ähnlich zu dem, was Sie wollen
Der Code in Ihrem Fall wird wie folgt aussehen:
%Vor%Sie können versuchen, das ist benutzerdefinierte Objektsortierung für ein Array
%Vor%Ich habe eine kleine Bibliothek namens Linq-to-ObjectiveC erstellt, die eine Reihe von Methoden zur Verfügung stellt, mit denen sich Arrays einfacher abfragen lassen . Um die gewünschte Gruppenoperation durchzuführen, können Sie einfach Folgendes tun:
%Vor%Dies würde ein Wörterbuch zurückgeben, in dem die Schlüssel die eindeutigen Vornamen sind, und jeder Wert ist ein Array von 'Personen'-Objekten, die den angegebenen Vornamen haben.
Es gibt keine integrierte Gruppe nach Methode in NSArray
. Ihre Beispielimplementierung könnte als Kategorie hinzugefügt werden.
Leider liefert die Operation @distinctUnionOfObjects
nur die Zeichenfolgen der Eigenschaft firstName: John, David. Es wird keine Operation group by
ausgeführt, noch gibt es eine solche Operation.
Tags und Links objective-c iphone cocoa