Frage

Ich bin mit so etwas wie dem folgenden Code ein NSDictionary von Objekten auf dem Gerät zu speichern. Gibt es eine Möglichkeit, dieses Archiv zu öffnen, Drill-Down in die Wörterbuch Elemente, die es enthält, und ideal , um die Daten zu bearbeiten? Meine Vermutung ist, nein, nicht zuverlässig, da die Optimierung erfolgt beim Speichern des Archivs schwierig macht, ... zu interpretieren zumindest, dass es so erscheint, wenn mit so etwas wie Property List Editor geöffnet. Zum Beispiel, wenn einige meiner Objekte teilen sich eine ähnliche NSString es, die NSString nur einmal archiviert wird gesagt, erscheint ... die Struktur des NSDictionary zu verändern, was ich erwartet hatte.

- (BOOL)writeDataToFile {
 NSMutableData *data = [[NSMutableData alloc] init];
 NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
 [archiver encodeObject:myDictionary forKey:kDataKey];
 [archiver encodeInteger:kDataFileVersion forKey:kDataVersionKey];
 [archiver finishEncoding];
 BOOL success = [data writeToFile:[self dataFilePath] atomically:YES];
 [archiver release];
 [data release];
 return success;
}
War es hilfreich?

Lösung

Die eigentliche Frage ist „sollten Sie?“ ... wahrscheinlich nicht.

Natürlich könnten Sie das Dateiformat analysieren, aber das Format ist eine Implementierung Detail, dass könnte ändern und es ist einfach nicht wert.

Warum versuchen Sie, dies zu tun? Sind Sie versuchen, inkrementelle Änderungen a la Core Data + SQLite zu machen? Wäre einfach nur alte SQLite selbst Ihr Problem lösen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top