• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Array nach eigenen Regeln sortieren

bginner

Ingrid Marie
Registriert
13.12.09
Beiträge
266
Hallo zusammen,

in meiner App gibt es eine PropertylistList (sagen wir die heisst zeitalter.plist). Ich greife in meiner App auf diese Datei im Bundle zu und speichere diese in einem NSDictionary (zeitalter) ab.
Wenn ich jetzt
Code:
[zeitalter allKeys]
ausführe, bekomme ich ein array aller Zeitalter die ich eingetragen habe.
Aber das Dumme ist, dass die Reihenfolge eine ganz andere ist, als in der PList-Datei angegeben.
Ich möchte aber das die Zeitalter alle aufsteigend nach der jeweiligen Epoche sortiert sind, von der Steinzeit bis heute.
Deswegen bringt mir auch eine alphabetische Sortierung herzlich wenig. Meine Frage ist deswegen wie ich so eine Art eigene Regel der Sortierung erstellen kann. Ich hab die Dokumentation jetzt rauf und runter gelesen und finde keine Lösung. Entweder bin ich blind oder es ist wirklich nicht so trivial. Ich könnte zwar eine eigene Funktion zum Sortieren nehmen, aber wie soll die aussehen? Zumal ich ja dann auch
Code:
NSOrderedAscending oder NSOrderedDescending
zurückgeben muss und eine normale aufsteigende Sortierung bringt mir ja nix. Was kann aich also tun?

LG
 
Ein NSDictionary ist (im Gegensatz zum Array) grundsätzlich nicht sortiert. Du könntest eine zusätzliches Array mit den keys anlegen. (Und das dann auch in der plist ablegen?!).
 
Ist natürlich eine ziemlich billige Lösung aber ich habe es gerade getestet und für meinen Anwendungsfall funktioniert es sogar besser als ich dachte, obwohl die PList eine schon etwas komplexere Struktur hat