我有一堂课说,
class GroupClass{
var groupId: String = ""
var groupName: String = ""
}
我希望能够将其对象存储在NSUserDefaults
. 我试过这个方法
let group = GroupClass()
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(group, forKey: "group")
defaults.synchronize()
并按照以下方式检索它,
let defaults = NSUserDefaults.standardUserDefaults()
var group = defaults.objectForKey("group") as! GroupClass
它抛出异常Using non-property obect
并崩溃。在 Swift 中做这件事的正确方法是什么?
还尝试了以下方法,
class GroupClass{
var groupId: String = ""
var groupName: String = ""
required init(coder aDecoder: NSCoder) {
self.groupId = aDecoder.decodeObjectForKey("groupId") as! String
self.groupName = aDecoder.decodeObjectForKey("groupName") as! String
}
func encodeWithCoder(aCoder: NSCoder) {
aCoder.encodeObject(self.groupId, forKey: "groupId")
aCoder.encodeObject(self.groupName, forKey: "groupName")
}
}
但是,let group = GroupClass(coder:NSCoder())
给出问题。