Я использую Alamofire [pod 'Alamofire', '~> 5.0.0-rc.3'] в моем проекте и AFWrapper, созданный в классе-обертке для функций Alamofire, как использовать обработчики завершения для получения данных в контроллерах представления.
this is AFWrapper class code
class AFWrapper
{
This is my post request code
func requestPOSTURL(_ strURL : String, params : [String : AnyObject]?, headers : [String : String]?, success:@escaping (JSON) -> Void, failure:@escaping (Error) -> Void){
Alamofire.request(strURL, method: .post, parameters: params, encoding: JSONEncoding.default, headers: headers).responseJSON { (responseObject) -> Void in
//print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : Error = responseObject.result.error!
let dic = ["NSLocalizedDescription" : error.localizedDescription]
failure(error)
}
}
}
This is my get request code
func requestGetWithParamsURL(_ strURL : String, headers : [String : String]?, params : [String : AnyObject]?, success:@escaping (JSON) -> Void, failure:@escaping (Error) -> Void){
Alamofire.request(strURL, method: .get, parameters: params, encoding: JSONEncoding.default, headers: headers).responseJSON { (responseObject) -> Void in
//print(responseObject)
if responseObject.result.isSuccess {
let resJson = JSON(responseObject.result.value!)
success(resJson)
}
if responseObject.result.isFailure {
let error : Error = responseObject.result.error!
let dic = ["NSLocalizedDescription" : error.localizedDescription]
failure(error)
}
}
}
}