Mehrere Wörterbücher in einem array und die Prüfung auf doppelte Schlüssel - Objective C
Ich habe ein array enthält mehrere Wörterbücher, jedes mit 3 Schlüssel (@"date"
, @"username"
, @"text"
).
Was ich will, um zu überprüfen, ob die gleichen user (@"username"
) existiert in mehr als einem Wörterbuch in das Array. Und, wenn Sie es tut, kombinieren Sie den text für diese "Duplikate" in einem Wörterbuch.
Habe ich als diese Antwort zu überprüfen, Duplikate und diese eine
aber ich kann nicht herausfinden, wie man diese kombinieren zwei.
- Sie müssen versuchen, Sie zu kombinieren und dann, wenn Sie Probleme haben, zeigen Sie den code und suchen helfen mit, dass. Beginnen Sie mit der Lokalisierung und Protokollierung von Dubletten. Dann schauen Sie auf Zusammenführen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Springen, hier, denn obwohl ich denke, Sie sollten arbeiten am code selbst zuerst, denke ich, dass Miro die Antwort ist komplizierter, als es die Frage erfordert, und obwohl ich mag die Idee der Verwendung von Prädikaten in Greg ' s Antwort, hier ist eine 3. Lösung (1) würde nicht verlangen, dass Sie Ihre Daten ändern-Struktur und (2) verweist auf die notwendige Schleifen...
Die Möglichkeit, ich würde es tun: Erstellen Sie ein NSMutableArray, dann beginnen hinzufügen von Benutzernamen in Ordnung. Wenn die NSMutableArray bereits enthält den Benutzernamen aber nicht fügen Sie eine weitere Instanz der Benutzername, sondern das Zusammenführen der dictionary-info.
ex.
Vielleicht so etwas wie dieses [ungetestet] Beispiel? Schleife durch, bewahren Sie einen hash der vorhandenen Elemente, und wenn ein Duplikat gefunden wird, dann kombinieren Sie mit bestehenden und zu entfernen.
Wenn Sie NSMutableDictionary, NSMutableArray und NSMutableString, Sie können es tun mit Prädikat so: