Я пытаюсь загрузить файл JSON
с веб-сервера. Вот как я начинаю запрос:Почему NSURLSession.dataTaskWithURL() вызывает мой обработчик завершения?
let url:NSURL? = NSURL(string: lookupUrlFragment + query)
// Check if an actual url object was created
if let actualUrl = url {
// Create a default NSURLSessionConfiguration
let sessionConfig:NSURLSessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
// Create a default session
let session:NSURLSession = NSURLSession(configuration: sessionConfig)
session.dataTaskWithURL(actualUrl, completionHandler: {
(data:NSData?, response:NSURLResponse?, error:NSError?) in
NSLog("Got data = \(data)")
NSLog("Got response = \(response)")
NSLog("Got error = \(error)")
self.searchResults = data
self.delegate?.searchResultsAreReady()
})
}
Я прошел через этот код с помощью отладчика. Когда он переходит к вызову dataTaskWithURL()
, значение фактического URL-адреса верное. Если я ударил его из веб-браузера, я получаю файл JSON
. Но обработчик завершения не вызван. Он никогда не останавливается в точке прерывания, которую я установил в обработчике завершения, и в журнале отладчика не появляется вывод.
Я пробовал это с обработчиком завершения в отдельной функции вместо закрытия, но поведение такое же.
Может ли кто-нибудь сказать мне, почему мой обработчик завершения не вызван?
Спасибо !!!!!! – Thom