Ich habe eine NSDictionary
, die Instanzen von vielen verschiedenen Arten von Objekten enthält (NSArrays
, NSDictionaries
, NSStrings
, NSNumbers
, etc ...). Viele der NSDictionaries
und NSStrings
haben ihre eigenen verschachtelten NSDictionaries
und NSArrays
.Wie durchläuft man eine verschachtelte Hierarchie von NSDictionaries und NSArrays und konvertiert alle in veränderbare Kopien?
Wie kann ich Schleife durch die gesamte Hierarchie von oben nach unten, und konvertieren Sie alle Instanzen von NSDictionaries
und NSArrays
-NSMutableDictionaries
und NSMutableArrays
jeweils?
Gibt es eine einfache "rekursiv machbare Kopien" -Funktion, von der ich nichts weiß? Wenn nicht, muss ich nur wiederholen Schleife und wiederholen Sie die Prüfung? Kann ich einfach ersetzen, wie ich gehe oder habe ich die gesamte Hierarchie neu erstellt?
Was meinen Sie "Schlüssel werden nicht kopiert"? – zakdances
@yourfriendzak: Für ein Wörterbuch '@ {key: value}' würde mein Code '@ {key: mutableCopyOfValue}' und nicht '@ {mutableCopyOfKey: mutableCopyOfValue}} erzeugen. Keys sind in den meisten Fällen konstante Strings, so dass es nicht sinnvoll ist, sie zu kopieren. –
@yourfriendzak: Tatsächlich macht dieser Code mehr als Sie benötigen. Es macht veränderbare Kopien, wo immer es möglich ist, zum Beispiel veränderbare Kopien von Strings in der Hierarchie. Wenn das nicht gewünscht wird, kann ich den Code ändern. –