将服务器响应存储在用户默认值中时..我弄错了



将服务器响应存储在用户默认值中时。。。。我弄错了。。。。。。。。

由于未捕获的异常而终止应用程序'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一起存档。

删除SwiftyJSONNSCoding,改为使用Codable

请对响应进行编码并将其存储在userDefaults中,当您想要使用这些值时,提取并解码。

它可能会对你有所帮助。

最新更新