Ich kommuniziere mit einer API, die ein NSDictionary als Antwort mit Daten zurücksendet, die meine App benötigt (die Daten sind im Grunde ein Feed). Diese Daten werden nach dem neuesten bis zum ältesten sortiert, mit den neuesten Elementen an der Vorderseite des NSDictionary.Mit schneller Enumeration und einem NSDictionary ist die Iteration in der Reihenfolge der Schlüssel nicht garantiert - wie kann ich es so machen, dass es in Ordnung ist?
Wenn ich schnell durch sie mit for (NSString *key in articles) { ... }
nummeriere, ist die Reihenfolge anscheinend zufällig, und folglich ist die Reihenfolge, die ich auf ihnen betreibe, nicht in Reihenfolge vom neuesten zum ältesten, wie ich es will, aber völlig zufällig stattdessen.
Ich habe gelesen, und wenn schnelle Aufzählung mit NSDictionary verwendet wird, ist es nicht garantiert, um in der Reihenfolge durch das Array zu iterieren.
Allerdings brauche ich es zu. Wie führe ich es durch das NSDictionary in der Reihenfolge, in der NSDictionary ist?
Schreiben Sie Ihr eigenes Wörterbuch, dann. Wenn CF/NSDictionary sagt, dass sie keine Bestellung garantieren können, können sie keine Bestellung garantieren. Es ist vielleicht gar nicht so schwer, einen guten Sortieralgorithmus zu schreiben, aber wenn Sie sie in der Reihenfolge des Einfügens benötigen, könnte das schwierig sein, ohne die Objekte irgendwie zu markieren. – CodaFi
Haben Sie Eingaben in der API? Es hört sich so an, als würde es Ihnen ein Array schicken, kein Wörterbuch. –