Ist es möglich, ein Integer-Array mit NSUserDefaults auf dem iPhone zu speichern? Ich habe ein Array in meiner .h-Datei deklariert als: int playfield[9][11]
, das mit Ganzzahlen aus einer Datei gefüllt wird und das Layout eines Spielfeldes bestimmt. Ich möchte in der Lage sein, mehrere Speicherplätze zu haben, in denen Benutzer ihre Spiele speichern können. Wenn ich das tue:
Ich bekomme einen Zeigerfehler. Wenn es möglich ist, ein Integer-Array zu speichern, was ist der beste Weg dies zu tun und es später wieder aufzurufen?
Vielen Dank im Voraus!
Aus Apples NSUserDefaults-Dokumentation :
Der Standardwert muss eine Eigenschaftsliste sein, dh eine Instanz von (oder für Sammlungen eine Kombination von Instanzen von): NSData, NSString, NSNumber, NSDate, NSArray oder NSDictionary.
Aus diesem Grund erhalten Sie den Zeigerfehler.
Sie haben mehrere Optionen (in der Reihenfolge der empfohlenen Verwendung):
NSArray
von NSArray
s, um playField
in Ihrer Anwendung zu speichern
int
, fülle aber ein NSArray mit Zahlen, bevor du es in NSUserDefaults
speicherst.
NSArchiver
, um zwischen einem Array von ganzen Zahlen und NSData
zu konvertieren.
Tags und Links objective-c iphone cocoa-touch