将服务器响应存储在用户默认值中时。。。。我弄错了。。。。。。。。
由于未捕获的异常而终止应用程序'NSInvalidArgumentException',原因:'-[SwiftValueencodeWithCoder:]:无法识别的选择器已发送到实例0x600002fe7720'
这是我的代码
if let responseObject = response.array {
print(responseObject)
let bookingDetails = responseObject[0].dictionary!
let myData = NSKeyedArchiver.archivedData(withRootObject:bookingDetails)
UserDefaults.standard.set(myData, forKey: "userJson")
}
若要归档自定义类,类必须采用NSCoding
。这就是错误消息告诉你的。
JSON(在SwiftyJSON
中(是一个结构体,它根本不能与NSKeyedArchiver
一起存档。
删除SwiftyJSON
和NSCoding
,改为使用Codable
。
请对响应进行编码并将其存储在userDefaults中,当您想要使用这些值时,提取并解码。
它可能会对你有所帮助。