【发布时间】:2016-05-06 19:52:25
【问题描述】:
我尝试了几种不同的方法来将此类保存在 NSUserDefaults 中。我不知道如何使用覆盖功能保存类。我怎样才能做到?
class CountryEntity: AnyObject {
private(set) var id: UInt = 0
private(set) var name = ""
override func cityData(data: Dictionary<String, AnyObject>!) {
id = data.uint(key: "id")
name = data.string(key: "name")
}
}
我试过这样,但它对我没有帮助
private static var _selectedCountryEntity: AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey(countryNameKey) {
didSet {
let savedData = NSKeyedArchiver.archivedDataWithRootObject(selectedCountryEntity as! NSData)
NSUserDefaults.standardUserDefaults().setObject(savedData, forKey: countryNameKey)
NSUserDefaults.standardUserDefaults().synchronize()
}
}
static var selectedCountryEntity: AnyObject? {
get {
return _selectedCountryEntity
}
set {
// if newValue != _selectedCountryTuple {
_selectedCountryEntity = newValue
// }
}
}
【问题讨论】:
-
为什么不将每个单独的部分存储在一个数组中,并制作序列化/反序列化方法(take a look at this)
标签: ios swift nsuserdefaults