• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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
 

frostdiver

Zwiebelapfel
Registriert
19.06.12
Beiträge
1.285
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?!).
 

bginner

Ingrid Marie
Registriert
13.12.09
Beiträge
266
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