У меня есть простая процедура, которую я использовал в моей предыдущей версии ( Swift 4 ). Сейчас я обновился до новой версии ( Swift 5, Alamofire 5.0.0-rc.2 ), так как я все еще начинающий, у меня возникли проблемы с этим. Некоторые части кода я уже мог переписать.
let headers: HTTPHeaders = [
"SubscriptionKey": SubscriptionKey,
"Host": HostName
]
AF.request(URL(string: userInfoUrl)!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: headers)
.validate()
.responseJSON { response in
guard response.result.isSuccess else {
log.error("Error requesting user ID: \(String(describing: response.result.error))")
completion(false, nil)
return
}
guard let json = response.result.value as? [String: Any], let userId = json["userId"] as? String else {
log.error("Malformed result from API call.")
completion(false, nil)
return
}
response.result.isSuccess невозможно. Как я могу использовать эту часть?
Ошибка: значение типа 'Result' не имеет члена 'isSuccess'
В качестве возможного решения я протестирую вышеуказанное решение.
AF.request(URL(string: userInfoUrl)!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: headers)
.validate()
.responseJSON { response in
switch response.result{
case .success(let value):
//succcess, do anything
case .failure(let error):
log.error("Error requesting user ID: \(String(describing: response.error))")
completion(false, nil)
return
}