Я использую session.dataTask для получения данных с сервера в моем приложении несколько раз, но в этом ViewController я не знаю, почему session.dataTask не запускается, мой сервер не получает запрос, следовательно, ответ ноль... Я использую точно такую же функцию из другой части моего приложения, которая работает нормально, но я не могу найти решение ...
Вот начальный вызов:
let refreshAlert = UIAlertController(title: "Choix ", message: "\nVoulez vous que l'on choisisse pour vous ?", preferredStyle: UIAlertControllerStyle.alert)
refreshAlert.addAction(UIAlertAction(title: "Non, je le choisis manuellement", style: .cancel, handler: { (action: UIAlertAction!) in
//do something
}))
refreshAlert.addAction(UIAlertAction(title: "Oui", style: .default, handler: { (action: UIAlertAction!) in
DispatchQueue.main.async(execute: {
self.getRandom()
})
//I also tried to call without dispatch but same result
}))
present(refreshAlert, animated: true, completion: nil)
А вот и функция
func getRandom(){
let url_to_request = "\(SERVER)/GetRandom"
let url:URL = URL(string: url_to_request)!
let configuration = URLSessionConfiguration.default
configuration.timeoutIntervalForRequest = 30.0
configuration.timeoutIntervalForResource = 60.0
let session = Foundation.URLSession(configuration: configuration,
delegate: self,
delegateQueue:OperationQueue.main)
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.cachePolicy = NSURLRequest.CachePolicy.reloadIgnoringCacheData
request.timeoutInterval = 10
let task = session.dataTask(with: request, completionHandler: {
(
data, response, error) in
print("request: \(request)")
print("Response: \(response)")
let res = response as! HTTPURLResponse
print("Status Code : \(res.statusCode)")
guard let _:Data = data, let _:URLResponse = response, error == nil else {
print("error data")
return
}
print("data: \(data?.debugDescription)")
})
task.resume()
}
, в этом случае ответ равен нулю ... в другом ViewController этот код верен ....
Iтакже добавил мой класс как URLSessionDelegate
Любая идея, почему мой session.dataTask не запускается (без ошибки)?