Rya*_*ott 1 nsuserdefaults ios swift2
我有一个名为struct的结构Jar,我想将它们的数组保存到NSUserDefaults.这是jar结构代码:
struct Jar {
let name: String
let amount: Int
init(name: String, amount: Int){
self.name = name
self.amount = amount
}
}
Run Code Online (Sandbox Code Playgroud)
我相信我需要将它转换为NSObject才能保存它.(因为您无法将结构直接保存到NSUserDefaults).我的问题是: 如何将结构数组转换为NSObject?以及如何将NSObject转换回结构数组.
这个解决方案的灵感来自于@Duncan C.我写的更熟悉,就像我们自定义类编码和解码一样.
public struct IRDriver {
public var name: String?
public var amount: Int?
public init() {
}
// Decode
public init(dictionary: Dictionary<String, AnyObject>){
name = dictionary["name"] as? String
amount = dictionary["amount"] as? Int
}
// Encode
public func encode() -> Dictionary<String, AnyObject> {
var dictionary : Dictionary = Dictionary<String, AnyObject>()
dictionary["name"] = name
dictionary["amount"] = amount
return dictionary
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5574 次 |
| 最近记录: |