Wie lautet der Standardspeicherort des NSCoding-Protokolls?Cocoa - Wo speichert NSCoding?
Auch ist es eine Möglichkeit, einen solchen Standard-Speicherort zu ändern, zu sagen, den Ordner, in dem die .app-Datei befindet?
Wie lautet der Standardspeicherort des NSCoding-Protokolls?Cocoa - Wo speichert NSCoding?
Auch ist es eine Möglichkeit, einen solchen Standard-Speicherort zu ändern, zu sagen, den Ordner, in dem die .app-Datei befindet?
können Sie auch direkt schreiben encodierten Objektdaten codiert nach NSCoding in einer Datei NSKeyedArchiver mit
So:
BOOL result = [NSKeyedArchiver archiveRootObject:yourObject toFile:filename];
Mit filename
können Sie Ihre Datei Speicherort wählen (Sie können es auf die Dokumente gesetzt werden Verzeichnis, wenn Sie auf iOS sind).
EDIT 1: Wenn Sie in NSUserDefault speichern möchten ... tun:
NSData *yourObjectAsNSData = [NSKeyedArchiver archivedDataWithRootObject:yourObject];
[[NSUserDefaults standardUserDefaults] setObject:yourObjectAsNSData forKey:@"aKey"]
Was passiert, wenn ich archivedDataWithRootObject: object verwende? Funktioniert der toFile: Parameter noch? Ich habe es versucht, aber es konnte nicht funktionieren. Vielen Dank! – Kevin
Versuchte: NSString * path = @ "Datei"; \t [[NSUserDefaults standardUserDefaults] setObject: [NSKeyedArchiver archiveRootObject: array toFile: path] forKey: @ "savedArray"]; , die zu einem Fehler führen EXC_BAD_ACCESS + Warnung, dass ich ohne eine Besetzung einen Zeiger von Ganzzahl mache .. – Kevin
falsch falsch. Sie versuchen, das BOOL "Ergebnis" in Ihren NSUserDefaults zu speichern. Das wird zum Absturz! Ich werde meine Antwort aktualisieren .. –
Sie diesen Film sollte lauten: https://developer.apple.com/library/mac /#documentation/Cocoa/Conceptual/Archiving/Archiving.html#//apple_ref/doc/uid/10000047i – CarlJ