2016-12-21 3 views
1

Я пытаюсь перейти от Swift2 к Swift3 и у меня проблема с URLSession.GETПроблемы, связанные с миграцией в Swift3, ошибка компиляции с URLSession.GET

Я прошел через инструмент миграции, предоставляемой XCode, и изменил мой "NSURLSession" называет в "URLSession", но я продолжаю имея это сообщение об ошибке:

"Use of Instance member 'GET' on type 'URLSession'; did you mean to use a value of type 'URLSession' instead?" 

Вот мой код:

open static func getData() -> Promise<[Station]> { 
    return URLSession.GET("http://api.xxx.gov/api/").asDataAndResponse().then { (data: NSData, _) -> [Station] in 

    var stations = [Station]() 
    // rest of the code to retrieve the data 
    ... 
    ... 

    return stations 
    } 
} 

Update: После некоторого рытья нашел решение, см ответить ниже для более подробной информации и полезные ссылки

+0

вы пробовали запрос данных URLSession? – Sulabh

+0

http://stackoverflow.com/a/26365148/2098231 – Sulabh

+0

Возможный дубликат [HTTP-запрос в Swift с методом POST] (http://stackoverflow.com/questions/26364914/http-request-in-swift-with- пост-метод) –

ответ

-1

После некоторых более рытье я нашел решение:

Сначала я должен инициализировать URLSession с конфигурацией:

let URLSession1 = URLSession(configuration: .default)

Тогда я могу вызвать метод «GET», и я должен был использовать (data,_) вместо (data:NSData,_):

open static func getData() -> Promise<[Station]> { 
    return URLSession1.GET("http://api.xxx.com/api/").asDataAndResponse().then { (data, _) -> [Station] in 

    var stations = [Station]() 
    // rest of the code to retrieve the data 
    ... 
    ... 
    return stations 
    } 
} 

Некоторые полезные ссылки StackOverflow, которые помогли мне найти решение:

NSURLSession dataTaskForRequest:completion: unrecognized selector sent to instance

Смежные вопросы