Über NSArrayController Daten ändern

H

Hausbesetzer

Aktives Mitglied
Thread Starter
Dabei seit
10.09.2008
Beiträge
10.816
Reaktionspunkte
2.834
Hi!
Ich schreibe über NSKeyedArchiver archiveRootObject: toFile: ein Array mit Dictionaries weg.
Beim Start lade ich das über NSKeyedUnarchiver unarchiveObjectWithFile wieder rein und gebe das an ein NSArrayController addObjects und bilde die Daten dann schön in einem Tableview ab.

Das hat bisher für die Anforderungen auch prima geklappt, mit addobject und removeobject wurden die Daten hinzugefügt und entfernt.

Jetzt muss ich die Daten im Dictionary eines Array-Elements ändern. Nur, wie komme ich da ran?
Über NSArrayController arrangedObjects bekomme ich das Array wieder. Ändern kann ich es da nicht.
Ich könnte nun ein neues Dictionary dem NSArrayController über addobject übergeben und den alten Arrayeintrag removen, aber das ist sehr fehleranfällig und ich bin mir nicht sicher, ob es nicht eine Lösung dafür gibt.

Hat da jemand vielleicht eine Idee?

Danke und Gruß
 
Über NSArrayController arrangedObjects bekomme ich das Array wieder. Ändern kann ich es da nicht.

Ein normales Array kannst du nicht ändern, d.h. du kannst keine Objekte hinzufügen oder löschen, aber du kannst natürlich ganz normal auf die gespeicherten Objekte zugreifen. Da das betreffende Dictionary ja in der Regel nur einmal angelegt wird und dann in deinem ArrayController oder dem Array, das du über arrangedObjects generierst, nur Pointer auf dieses eine Objekt zu finden sind, sollte man dann ganz einfach die betreffenden Einträge editieren können.
 
Zurück
Oben Unten