我有一個名爲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,但我有沒有運氣和我發現它很難理解。
我的時候,我只是嘗試保存到NSUserDefaults的,我聽說了以下內容:
Attempt to set a non-property-list object (
"PersonApp.Person"
) as an NSUserDefaults/CFPreferences value for key personArray
會有人能夠幫助我通過實際NSUserDefaults的保存自定義對象(自定義詞典)的陣列?
Swift 3但它正是你想要做的http://stackoverflow.com/a/37983027/2303865 –