私はPerson
というカスタムクラスを持っています。カスタムクラスは、情報を入力するときに、誰かのさまざまな属性を格納します。NSUserDefaultsを使用してカスタムクラスの配列をSwiftに格納する方法は?
class Person {
// Person dictionary variable
var name: String?
var age: String?
var html_url: String?
init(json: NSDictionary) { // Dictionary object
self.name = json["name"] as? String
self.age = json["age"] as? String
self.html_url = json["html_url"] as? String // Location of the JSON file
}
}
ディクショナリが作成されると、ディクショナリが配置されます。ボタンをタップすると、配列をNSUserDefaults
に保存する際に問題が発生します。
personArray.append(newPerson) // newPerson = dictionary of attributes
NSUserDefaults.standardUserDefaults().setObject(personArray, forKey: "personArray")
NSUserDefaults.standardUserDefaults().synchronize()
私はHow to store custom objects in NSUserDefaultsとSaving custom SWIFT class with NSCoding to UserDefaultsを見て持っていたが、私は運がなかったしていると、それは難しい理解して見つけています。
はI私は単にNSUserDefaultsに保存しようと、私は聞いています次:
Attempt to set a non-property-list object (
"PersonApp.Person"
) as an NSUserDefaults/CFPreferences value for key personArray
は、誰も私が実際にNSUserDefaultsを経由してカスタムオブジェクト(カスタム辞書)の配列を救うことはできますか?
スウィフト3しかし、これはまさにあなたがやろうとしていることです。http://stackoverflow.com/a/37983027/2303865 –