Я получаю сообщение об ошибке «Завершение приложения из-за необработанного исключения« NSInvalidArgumentException », причина:« Неверный тип в записи JSON (__NSTaggedDate) »», когда я пытаюсь декодировать объект JSON из банка данных, который имеет переменную даты. Ошибка происходит в строке: let jsonData = try JSONSerialization.data (withJSONObject: self) из приведенного ниже кода:
extension Array where Element == Dictionary<String,Any> {
func decode<T>() throws -> [T] where T: Codable {
let jsonData = try JSONSerialization.data(withJSONObject: self)
// 1.
let decoder = JSONDecoder()
// 2.
return try decoder.decode([T].self, from: jsonData)
}
}
Я использую этот метод для преобразования результата запроса Postgres SELECT в массив объектов Codable с использованием зависимости PG.
case .success(let result):
let array = result.rows.map { Dictionary($0) }
let objects = try! array.decode() as [Model]
completion(objects,nil)