Дополнительный аргумент в вызове

#swift #syntax #call

#Swift #Синтаксис #вызов

Вопрос:

Я получаю следующую ошибку, поскольку я обновился до Xcode 8:

Дополнительный аргумент в вызове

Мой код выглядит так:

 Alamofire.request(.GET, link).validate().responseJSON { response in
  

Ошибка выделяется link красным цветом. Он определен далее над кодом:

 let link = "http://www.gov.je/_layouts/15/C5.Gov.Je.CarParks/proxy.aspx"
  

Почему я получаю эту ошибку?

Комментарии:

1. Используете ли вы swift 3 и Alamofire 4.0?

2. Как бы я это сделал?

3. Я думаю, что у меня есть, там написано версия 4.0.1

4. ДА. Я использую Alamofire 4.0.1, и я думаю, что использую Swift 3

Ответ №1:

Согласно документу:

— Запрос данных — простой со строкой URL

 // Alamofire 3

Alamofire.request(.GET, urlString).response { request, response, data, error in
    print(request)
    print(response)
    print(data)
    print(error)
}

// Alamofire 4

Alamofire.request(urlString).response { response in // method defaults to `.get`
    debugPrint(response)
}
  

Итак, вам нужно удалить .GET аргумент

Ответ №2:

   let link = "http://www.gov.je/_layouts/15/C5.Gov.Je.CarParks/proxy.aspx"
    Alamofire.request(link).responseJSON { response in
        print(response.request)  // original URL request
        print(response.response) // HTTP URL response
        print(response.data)     // server data
        print(response.result)   // result of response serialization

        if let JSON = response.result.value {
            print("JSON: (JSON)")
        }
    }