This is an array:
var myArray = [1]
It contains Int
values.
This is how I save an array in NSUserDefaults
. This code seems to be working fine:
NSUserDefaults.standardUserDefaults().setObject(myArray, forKey: "myArray")
This is how I load an array:
myArray = NSUserDefaults.standardUserDefaults().objectForKey("myArray")
The code above, though, retrieves an error. Why?
You want to assign an AnyObject?
to an array of Int
s, beacuse
objectForKey
returns AnyObject?
, so you should cast it to array this way:
myArray = NSUserDefaults.standardUserDefaults().objectForKey("myArray") as [Int]
If there are no values saved before, it could return nil, so you could check for it with:
if let temp = NSUserDefaults.standardUserDefaults().objectForKey("myArray") as? [Int] {
myArray = temp
}