【发布时间】:2015-10-13 19:38:02
【问题描述】:
我有以下课程。当我尝试像这样将它添加到 NSUserDefaults 时:
let testClass = TestClass()
testClass.Property1 = 22.3
NSUserDefaults.standardUserDefaults().setObject(testClass, forKey: "object1")
我收到一个错误:
'NSInvalidArgumentException',原因:'尝试插入非属性 列出关键对象 1 的对象
class TestClass: NSObject, NSCoding {
var Property1:Double?
override init() {
super.init()
}
required init?(coder aDecoder: NSCoder) {
if let priceCoded = aDecoder.decodeObjectForKey("Property1") as? Double {
self.Property1 = priceCoded
}
}
func encodeWithCoder(aCoder: NSCoder){
if let priceEncoded = self.Property1 {
aCoder.encodeObject(priceEncoded, forKey: "Property1")
}
}
}
知道我做错了什么吗?
【问题讨论】:
标签: swift2 nsuserdefaults