Unterschiede zu archiveRootObject: toFile: und writeToFile:

9

Kürzlich lerne ich etwas über NSKeyedArchiver und NSKeyedUnarchiver. Ich habe festgestellt, dass es drei Möglichkeiten gibt, ein Array zu archivieren, und ich versuche, die Unterschiede herauszufinden.

1.Verwendung von archiveRootObject:toFile:

%Vor%

2.Holen Sie Daten von archivedDataWithRootObject: und schreiben Sie sie in die Datei

%Vor%

3.Verwenden von encodeObject: um Daten zu erhalten

%Vor%

Nach dem Testen habe ich festgestellt, dass alle oben genannten Methoden funktionieren und den gleichen Inhalt in die Datei schreiben.

F1: Was sind die Unterschiede zu allen oben genannten Möglichkeiten?

Q2: Kann ich NSData auf die dritte Art benutzen?

    
kukushi 18.04.2013, 07:42
quelle

1 Antwort

5

Der erste gibt Ihnen keine Wahl, was Sie mit den Daten machen sollen. Es wird in eine Datei gehen. Ich verwende den zweiten Weg, um beispielsweise Daten über eine Netzwerkverbindung zu senden. Es ist flexibler. Der 3. Weg macht dasselbe, außer dass man einzelne Objekte hineinlegen kann. Ich bin mir nicht sicher, ob es mit einem Array funktioniert, wie es steht, aber es könnte. Es ist noch flexibler, so dass Sie kein Array oder Dictionary dafür benötigen.

Das ist es ziemlich. Es geht um Komfort gegen Flexibilität.

    
borrrden 18.04.2013, 07:50
quelle