2013-02-11 7 views

Antwort

11

Sie zu Code/dekodieren die Objekte in Ihrem Objekt (das in Ihrem Array) mit und das Array NSData archivieren.

Fügen Sie einfach

<NSCoding> 

zur Klasse von Ihren Objekten (im Array) und den Warnungen des Compilers folgen: D

Archivierung Dann wird Ihr Array wie folgt:

NSData *data = [NSKeyedArchiver archivedDataWithRootObject:yourArray]; 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
[defaults setObject:data forKey:@"yourKey"]; 


NSArray *array= [NSKeyedUnarchiver unarchiveObjectWithData:[defaults objectForKey:@"yourKey"]; 

Überprüfen Sie diese http://soff.es/archiving-objective-c-objects-with-nscoding

+2

nicht vergessen [Standardeinstellungen synchronisieren] – Jacky

+0

danke Mann, es half mir viel –

+0

Es spart nicht Integer-Wert –

1

Sie müssen es serialisieren.

Von Apfel-Dokumentation NSUserDefaults:

Die NSUserDefaults Klasse bietet komfortable Methoden für gängige Typen wie Schwimmer Zugriff verdoppelt, ganze Zahlen, Boolesche Werte und URLs. Ein Standardobjekt muss eine Eigenschaftsliste sein, dh eine Instanz von (oder für Sammlungen eine Kombination von Instanzen von): NSData, NSString, NSNumber, NSDate, NSArray oder NSDictionary. Wenn Sie einen anderen Objekttyp speichern möchten, sollten Sie ihn normalerweise archivieren, um eine Instanz von NSData zu erstellen. Weitere Informationen finden Sie unter Einstellungen und Einstellungen Programmierhandbuch.

https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

1

ja, es ist möglich, nur Sie kümmern sich um NULL-Werte nehmen müssen, während & es Abrufen speichern,

Verwandte Themen