NSCoding mit Verschachtelten Benutzerdefinierten Objekte?

Habe ich eine Reihe von verschachtelten Objekten, dass ich bin benötigen, um durch das NSCoding-Protokoll, so dass ich speichern Sie die top-level-Objekt in NSUserDefaults.

Hier ist die Struktur der Objekte:

'Lehrer' class

  • NSMutableArray hält Instanzen von...

'Class' Klasse

  • NSMutableArray hält Instanzen von...

Schüler der Klasse

  • Name-Eigenschaft
  • Number-Eigenschaft
  • Geld Eigentum

Ich bin benötigen, speichern Sie eine Instanz des Lehrers zu NSUserDefaults oder Dokumente für die app. Wie Sie sehen können die Instructor-Objekt ein array, das ist dann halt Instanzen einer Klasse. Das class-Objekt Instanzen von Studenten.

Ist das NSCoding-Protokoll-rekursive? Was ich damit meine ist wenn ich das NSCoding-Protokoll zu jeder Klasse, dann könnte ich sparen, ein Lehrer-Objekt und würde es rekursiv Kodierung der enthaltenen Objekte?

Würde es dann funktionieren auf die gleiche Weise während der Dekodierung? Ich konnte nur Dekodieren, die ein Ausbilder Klasse und würde es rekursiv decodieren der enthaltenen Objekte, weil Sie auch an das NSCoding-Protokoll?

Wie könnte ich mich über die Einstellung?

  • NSUserDefaults ist nicht ein geeigneter Ort zum speichern dieser Art von Benutzer-Daten. Warum nicht einfach speichern Sie Sie als benutzerdefinierte Dokument in der Documents - Verzeichnis?
  • Das ist, warum ich sagte, ich werde es speichern, um entweder NSUserDefaults oder Dokumente. Der Grund, warum ich denken würde, NSUserDefaults ist, weil der Größe des Ausbilders Objekt würde sehr klein sein.
InformationsquelleAutor BlueBear | 2013-09-25
Schreibe einen Kommentar