Большинство используемых нами API имеют свои собственные наборы кодов состояния, возвращаемых при запросе контента. Для простого использования, такого как ваш пример, этого должно быть достаточно, чтобы не использовать его, но в больших приложениях код имеет свои значения, и клиент должен правильно их обрабатывать. Есть много ресурсов, из которых вы можете прочитать о преимуществах кодов состояния.
Вы можете проверить код состояния из Задачи URLSession следующим образом:
guard let url = URL(string: profileImageUrl) else { return }
URLSession.shared.dataTask(with: url) { (data, response, err) in
if let err = err { print("Failed to fetch the profile image:", err); return }
//check for response status here
if let httpResponse = response as? HTTPURLResponse {
print(httpResponse.statusCode)
}
guard let data = data else { return }
let image = UIImage(data: data)
DispatchQueue.main.async {
self.profileImage.image = image
}
}.resume()
}
Поскольку HTTPURLResponse
является подклассом URLResponse
и отвечает за доступ к информации о нагрузке HTTP, вы можете легко привести ответ и получить statusCode