Es gibt eine Reihe von Fragen und Antworten zu SO, die fragen, wie ich ein Objekt in Ziel c serialisieren kann.Soll ich mit NSCoder zu JSON serialisieren?
- Serialize and Deserialize Objective-C objects into JSON
- Objective C serialize list of complex objects
- Serialize custom object to JSON which contains NSMutableArray
- How to serialize a class in IOS sdk (Objective-c)?
Die folgenden 3 Verfahren sind alle in den oben erwähnten Verbindungen.
1) Verwenden Sie NSJSONSerialization
, um das Objekt zu JSON zu serialisieren. Scheint gut, aber dies erfordert, dass das betreffende Objekt entweder ein Array oder ein Wörterbuch auf seiner obersten Ebene ist. Übliche Lösung ist das Deklarieren benutzerdefinierter toDictionary
oder serialise
Methode, die die Eigenschaften überschleifen und den relevanten Schlüssel und die Werte festlegen.
2) Entsprechen Sie dem Protokoll NSCoder
, ein wenig wie der Ansatz oben, aber es scheint etwas Verwirrung darum, ob dies zu JSON oder nur zu NSData
serialisieren kann.
3) Bibliothek eines Drittanbieters.
Ich bin ein wenig verwirrt, was für einen Ansatz zu nehmen. Ich möchte zu JSON serialisieren, es gibt widersprüchliche Antworten, einige sagen, dass Sie NSCoder verwenden können, manche sagen nicht. Ich weiß, dass eine Drittanbieter-App funktioniert, aber ich würde eher etwas einfaches wie Optionen 1 oder 2 implementieren.
Gedanken?
Ich schreibe einen Backbone.js-Port zu Ziel C. Sie könnten sehen, wie ich JSON (de) Serialisierung behandelt: https : //github.com/geon/Backbone.m/blob/master/BackboneModel.m#L229 – geon