Ich muss eine PLIST (eine Reihe von Diktaturen) nach Schlüsselwert neu anordnen.Gibt es eine einfache Möglichkeit, ein Plist (Array von Wörterbüchern) nach Schlüsselwert zu sortieren?
In diesem Beispiel Inhalten durch den Wert für den Schlüssel-Namen (Matt, Joe) bestellen Ich mag würde:
<dict>
<key>Name</key>
<string>Matt</string>
<key>Details</key>
<string>Me</string>
</dict>
<dict>
<key>Name</key>
<string>Joe</string>
<key>Details</key>
<string>You</string>
</dict>
Gibt es eine einfache Art und Weise? Ich möchte es nicht jedes Mal, wenn die App ausgeführt wird, im Code ausführen, sondern nur in die Datendatei.
Irgendwelche Ideen?
Glücklich, jedes Werkzeug zu verwenden, um dies zu tun: Ninja-Parameter für die Sortierung in der Befehlszeile, ein Plist-Editor, Texteditor oder was auch immer.
Arrays werden in der richtigen Reihenfolge gespeichert. Speichern Sie die Schlüssel daher als separates, geordnetes Array. Jedes Mal, wenn Sie einen Schlüssel aus dem Wörterbuch hinzufügen oder entfernen, führen Sie das gleiche für das Schlüsselarray durch und ordnen Sie es neu, bevor Sie den plist zurück auf den Datenträger schreiben. –
Wenn ich so gehe, wie bekomme ich die Schlüssel in einem geordneten Array? –
Fügen Sie alle Werte für den Namen aus jedem Wörterbuch zu einem veränderbaren Array hinzu und rufen Sie dann sortedArrayUsingSelector: @selector (compare :) für das Array auf. Dadurch erhalten Sie ein neues, sortiertes Array der Namenschlüssel. –