【发布时间】:2017-09-12 17:59:11
【问题描述】:
当尝试在 iOS Swift 中对我的自定义对象进行编码时,从 Xcode 8.3 收到此错误
无法识别的选择器发送到实例 0x60800166fe80 *** -[NSKeyedArchiver dealloc]:警告:NSKeyedArchiver 在没有调用 -finishEncoding 的情况下被释放。
我的代码是这样的:
导入 UIKit 导入基金会
class Place: NSObject {
func setCustomObject(CustomObject obj:Any,Key key:String) {
let encodedObject : Data = NSKeyedArchiver.archivedData(withRootObject: obj)
UserDefaults.standard.set(encodedObject, forKey: key)
}
}
【问题讨论】:
-
您的
CustomObject是否符合NSCoding协议? -
没有@njuri,需要吗?
-
是的,会在回答中描述。
标签: ios swift encode dealloc nskeyedarchiver