【发布时间】:2016-07-27 08:37:45
【问题描述】:
我有一个名为Person 的自定义类,它在某人输入信息时存储有关某人的各种属性。
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,但运气不好,很难理解。
当我尝试保存到 NSUserDefaults 时,我被告知以下内容:
Attempt to set a non-property-list object (
"PersonApp.Person"
) as an NSUserDefaults/CFPreferences value for key personArray
谁能帮助我通过 NSUserDefaults 实际保存一组自定义对象(自定义字典)?
【问题讨论】:
-
Swift 3 但这正是你想要做的stackoverflow.com/a/37983027/2303865
标签: ios swift swift2 nsuserdefaults