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))
Другие вопросы по тегам