ios - How do I save a custom class in swift to NSUserDefaults? -
this question has answer here:
- using nsuserdefaults on arrays 2 answers
i have made custom class called test. made variable called "game" equal test. tried save "game" nsuserdefaults , attempted print values "game". after running project got error: "thread 1:signal sigabrt". how save custom object nsuserdefaults without getting error?
here class:
class test { var boolean = false var int = 1 var arr = ["one": 1] }
here saving code:
let defaults = nsuserdefaults.standarduserdefaults() let game = test() game.arr = ["two": 3] game.hi = true game.int = 100 defaults.setobject(game, forkey: "sg") let gameset = defaults.objectforkey("sg")! as! test print(gameset.int) print(gameset.boolean) print(gameset.arr["one"])
this in viewdidload method. excluding test class.
the value parameter can property list objects: nsdata, nsstring, nsnumber, nsdate, nsarray, or nsdictionary.
you'll want @ using nskeyedarchiver
instead custom objects.
Comments
Post a Comment