Alamofire - ошибка преобразования из Swift 2 в Swift 3
Я конвертирую свой проект из Swift 2.3
в Swift 3.0
, Мы используем стручок Alamofire для работы в сети. Теперь у меня проблема с NSError
,
Когда мы пишем error: responseObj.result.error
, Swift 3 не принимает это. Помогите мне решить эту проблему.
Проверьте мой код:
static func getDataFromAPI(parameters : [String : AnyObject], successCallBack : @escaping APISuccessCallBack, failureCallBack : @escaping APIFailureCallBack) {
client.makePOSTRequest(service: Constants.API_BASE_URL, parameters: parameters) { (statusCode, response, error) -> () in
if statusCode == MobomoAPIClient.HTTPStatusCode.Success {
successCallBack(response)
}
else {
failureCallBack(client.responseErrorMessage(statusCode: statusCode, response: response, error: error))
}
}
}
typealias APIClientResponseCallBack = (_ statusCode: Int?, _ response : AnyObject?, _ error : NSError?) -> ()
`self.alamoFireManager!.request(urlString, method: method, parameters: parameters, encoding: JSONEncoding.default, headers: headers)
.responseJSON { (responseObj) -> Void in
responseCallBack(statusCode: responseObj.response?.statusCode, response: responseObj.result.value as AnyObject, error: responseObj.result.error)
}`
1 ответ
Вы должны изменить обратный вызов NSError?
в Error?
и приведите ошибку errorCallBack к Error
,
typealias APIClientResponseCallBack = (_ statusCode: Int?, _ response : AnyObject?, _ error : Error?) -> ()
failureCallBack(client.responseErrorMessage(statusCode: statusCode, response: response, error: error as Error))