Я начал реорганизовывать свои звонки Apo Alamofire, чтобы держать их в отдельном файле. Единственная проблема заключается в том, что я не знаю, как вернуть код состояния.Рефакторинг Swift alamofire пытается вернуть код состояния
Api файл:
static func getCategories(_ catId: Int, response: @escaping (JSON) ->()) {
let urlString = baseURL + ResourcePath.categories(catId: catId).description
Alamofire.request(urlString, encoding: JSONEncoding.default, headers: headers).responseJSON{ (responseData) -> Void in
let cCatData = JSON(responseData.result.value ?? [])
response(cCatData)
}
}
Тогда в моей ВК:
Api.getCategories(catId) { (JSON) ->() in
self.categories = JSON["catData"]
self.tableView.reloadData()
}
Но мне нужно знать, если код состояния 200/400/404/422/500, и я не хочу используйте функцию .validate(), я хочу передать код состояния
Обычно, если бы у меня было все в одном файле, я бы получил код состояния:
Alamofire.request("https://www.something", parameters: parameters, encoding: JSONEncoding.default, headers: headers)
.responseJSON() { response in
if let statusCode = response.response?.statusCode {
if statusCode == 200 {
}
}
Так как я могу получить код состояния и данные в другом файле? – user2636197
Я обновил свой пост. пожалуйста, проверьте. этот код использует swift 3.0 alamofire 4.0.1 – nferocious76
ahh да хорошая точка ... но если это успех, он всегда будет падать на код 200. И если ошибка обрабатывает код ошибки, относящийся к этой ошибке. вот что я здесь сделал ... но если у вас есть предложение, я готов это услышать. (y) – nferocious76