【发布时间】:2015-09-16 19:48:16
【问题描述】:
在我的第一个项目中,我使用以下代码创建了一个类:
import Foundation
class Rate {
var currency: String!
var sellRate: String!
var buyRate: String!
init (data: NSDictionary) {
self.currency = getStringFromJSON(data, key:"CurrencyName")
self.sellRate = getStringFromJSON(data, key:"SellRate")
self.buyRate = getStringFromJSON(data, key:"BuyRate")
}
func getStringFromJSON(data: NSDictionary, key: String) -> String {
if let info = data[key] as? String {
return info
}
return ""
}
}
我正在摸索如何更新代码以使用 NSCoding。我需要使用 NSKeyedArchiver,这就是为什么对象应该符合 NSCoding 协议。
我有在 GitHub 中找到的工作示例,但我仍然无法编写工作代码。示例:
class Book: NSObject, NSCoding {
var title: String!
var author: String!
required convenience init(coder decoder: NSCoder) {
self.init()
self.title = decoder.decodeObjectForKey("title") as! String?
self.author = decoder.decodeObjectForKey("author")as! String?
}
func encodeWithCoder(coder: NSCoder) {
coder.encodeObject(self.title, forKey: "title")
coder.encodeObject(self.author, forKey: "author")
}
}
【问题讨论】:
-
请发布您尝试过的内容。你有什么编译/运行时错误?
标签: ios swift class xcode6 nscoding