2010-12-29 16 views
1

Nun habe ich nur die gleichen Daten zweimal gespeichert und mit NSKeyedArchiver die Datei war etwa 30KB größer (von 60KB bis 90KB) Ich weiß es nicht viel, aber ich werde mehr dieser Dateien haben und einige werden größer als andere. Also, was ist der Unterschied und was ist der Vorteil der Verwendung der anderen?NSKeyedArchiver oder [NSArray writeToFile: atomar:]?

Antwort

4

Sie können bei - [NSArray writeToFile: atomically:] für einfache Objekte bleiben, d. H. Diejenigen, die nativ von Eigenschaftslisten unterstützt werden (im Wesentlichen Strings, Zahlen, Datumsangaben, Bytefolgen sowie Arrays und Wörterbücher).

NSKeyedArchiver wäre über NSArray/NSDictionary bevorzugt/erforderlich, wenn Sie komplexe Daten speichern. Im Gegensatz zu den Eigenschaftslisten, die von NSArray oder NSDictionary erstellt wurden, enthält ein verschlüsseltes Archiv Metadaten über eine gesamte Objektdiagrammhierarchie - Objekte, ihre Identitäten, ihre Beziehungen, Klassen, Instanzvariablen, Oberklassen. Daten werden eingegeben, die verwendet werden können, um Vorwärts- oder Rückwärtskompatibilität durch Ignorieren von Schlüsseln (z. B. Instanzvariablen) aufrechtzuerhalten. Weitere Informationen zu (verschlüsselten) Archiven finden Sie unter Archives and Serializations Programming Guide.