#swift #rawstring
#swift #rawstring
Вопрос:
Я хотел бы отобразить содержимое ошибки, полученной с моего сервера, в своих приложениях для iPad с помощью Swift, но я не могу отобразить его правильно:
(lldb) po (response.rawString)
"{"message":"Invalid Credentials"}"
Я хотел бы отобразить только :
Неверные учетные данные
Ответ №1:
Вы можете добавить пользовательский тип для своей ошибки и привести его в соответствие с Codable
struct ServerError: Error, Codable {
let message: String
}
а затем расшифруйте значение response.rawString
использования JSONDecoder
let decoder = JSONDecoder()
guard
let data = response.rawString.data(using: .utf8),
let error = try? decoder.decode(ServerError.self, from: data)
else {
return
}
print(error.message) // output: Invalid Credentials