Wird längere Schlüssel machen eine NSKeyedArchiver Datei wesentlich länger
-
22-07-2019 - |
Frage
Wenn ich dazu einfach das encodeWithCoder:
für Objective-C-Klassen für ein iPhone App wird es das Archiv machen macht größere Datei, wenn ich lange Schlüssel verwenden, wie für all meine Variablen zu kurzen Schlüsseln dagegen?
Zum Beispiel, wenn ich wirklich lange Schlüssel wie folgt verwenden:
[coder encodeBool:myBoolean forKey:@"My_Excesively_Long_Boolean_Key"];
wird die Archivdatei länger als, wenn ich Sachen verwenden wie folgt aus:
[coder encodeBool:myBoolean forKey:@"Key01"];
Unter der Annahme, ich habe eine große Anzahl von ints und BOOLs.
Lösung
Wenn Sie Hunderttausende von Schlüsseln haben, werden Sie keine spürbare Größenzunahme sehen. Auf modernen Systemen Text ist trivial. Sie könnten Zehntausende von Schlüsseln in ein paar megs speichern.
Die Verwendung von langen hoch eindeutigem Schlüssel, Konstanten, Klassennamen ivars etc ist aktiv, weil der Objective-C offenen Namensraumes zu fördern.
Andere Tipps
Größere das Archiv wächst, länger ist die Zeit, die es in die Datenstruktur wiederherzustellen nimmt. Die Größe Ihres Archivs zu klein ist, der die Flash-Speichergröße verfügbar in diesen Tagen im Vergleich (im Jahr 2011)