Обработка ошибок с помощью Alamofire в Swift 2

Привет, я занимаюсь некоторым кодом, мой код в порядке с case .Success(let value): и он отображает предупреждение, но будет case .Failure(let error): отобразить предупреждение с классом статуса 4xx статуса?

  Alamofire.request(.GET, URL).responseJSON { (response) -> Void in if let value = response.result.value { let json = JSON(value) switch response.result { case .Success(let value): let name = json["name"].string if let nothing = name { self.alertMessage(message: "Name not Found") } else { self.alertMessage(message: "Name Found") } case .Failure(let error): self.alertMessage(message: "Error 4xx / 5xx") } 

Вы можете использовать validate для проверки кодов состояния:

 Alamofire.request(.GET, URL) .validate() // or, if you just want to check status codes, validate(statusCode: 200..<300) .responseJSON { response in switch response.result { case .Success(let value): let json = JSON(value) if let name = json["name"].string { self.alertMessage(message: "Name Found: \(name)") } else { self.alertMessage(message: "Name not Found") } case .Failure(let error): self.alertMessage(message: "Error 4xx / 5xx: \(error)") } } 

Или, в Swift 3:

 Alamofire.request(url) .validate() // or, if you just want to check status codes, validate(statusCode: 200..<300) .responseJSON { response in switch response.result { case .success(let value): let json = JSON(value) if let name = json["name"].string { self.alertMessage(message: "Name Found: \(name)") } else { self.alertMessage(message: "Name not Found") } case .failure(let error): self.alertMessage(message: "Error 4xx / 5xx: \(error)") } } 

Также обратите внимание, что вы, вероятно, должны переместить экзамен response.result.value в раздел « Success » (или просто захватить переданное там value ). Кроме того, определение того, найдено ли name было назад.

Interesting Posts
Давайте будем гением компьютера.