Ich habe eine Klasse sagen,Speicher benutzerdefiniertes Objekt zu NSUserDefaults in Swift
class GroupClass{
var groupId: String = ""
var groupName: String = ""
}
Ich möchte in der Lage sein, seine Aufgabe zu speichern, in NSUserDefaults
. Ich habe versucht, auf diese Weise,
let group = GroupClass()
let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(group, forKey: "group")
defaults.synchronize()
und abgerufen es folgende Art und Weise,
let defaults = NSUserDefaults.standardUserDefaults()
var group = defaults.objectForKey("group") as! GroupClass
Es warf Ausnahme Using non-property obect
und stürzte ab. Was ist der richtige Weg, dies in Swift zu tun?
auch versucht, die folgende Art und Weise,
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")
}
}
Aber let group = GroupClass(coder:NSCoder())
Problem gibt.
Verwendung NSKeyedArchiver für diesen –
@EICaptain Können Sie bitte einen Demo-Code zur Verfügung stellen, ich bin neu in Swift. –
2. Antwort ist in Swift http://stackoverflow.com/questions/19720611/attempt-to-set-a-non-property-list-object-as-an-nsuserdefaults –