Невозможно преобразовать значение типа «DataResponse <String>» в ожидаемый тип аргумента «DataResponse <Any>» - PullRequest
0 голосов
/ 26 февраля 2020

Вот мой код

  Alamofire.request(model.mainURL, method: model.requestMethod, parameters: model.bodyData, encoding: model.encoding, headers: model.headers).responseString {(response) in

            parser.decodeRequest(response: response, completionHandler: {(decodeResponse, error) in
                SVProgressHUD.dismiss()

                self.completionBlock?(decodeResponse, error)
 })


И у меня есть такая ошибка

Cannot convert value of type 'DataResponse<String>' to expected argument type 'DataResponse<Any>'

Когда я пытаюсь разобрать мой ответ здесь

  parser.decodeRequest(response: response, completionHandler: {(decodeResponse, error) in
                SVProgressHUD.dismiss()

Я знаю, что если изменить responseString для ответа JSON, то ошибка будет исправлена, но мне нужно именно responseString и я не знаю, как сделать это для анализатора с extensionHandler

1 Ответ

0 голосов
/ 26 февраля 2020

Вы можете использовать метод map на DataResponse:

Alamofire.request(model.mainURL, method: model.requestMethod, parameters: model.bodyData, encoding: model.encoding, headers: model.headers).responseString {(response) in

    parser.decodeRequest(response: response.map { $0 as Any }, completionHandler: {(decodeResponse, error) in
        SVProgressHUD.dismiss()

        self.completionBlock?(decodeResponse, error)
    })
...