У меня есть класс сказать,
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())
вызывает проблемы.
let group = GroupClass(coder:NSCoder())
это вызывает проблему - person Dark Drake   schedule 23.04.2016let group = GroupClass(coder:NSCoder())
как говоритсяcannot be sent to an abstract object of class NSCoder: Create a concrete instance!'
- person Dark Drake   schedule 23.04.2016