Загрузка JSON с NSURLSession не возвращает никаких данных
В настоящее время я пытаюсь загрузить, проанализировать и распечатать JSON с URL-адреса. Пока я дошел до этой точки:
1) Класс (JSONImport.swift), который обрабатывает мой импорт:
var data = NSMutableData();
let url = NSURL(string:"http://headers.jsontest.com");
var session = NSURLSession.sharedSession();
var jsonError:NSError?;
var response : NSURLResponse?;
func startConnection(){
let task:NSURLSessionDataTask = session.dataTaskWithURL(url!, completionHandler:apiHandler)
task.resume();
self.apiHandler(data,response: response,error: jsonError);
}
func apiHandler(data:NSData?, response:NSURLResponse?, error:NSError?)
{
do{
let jsonData : NSDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary;
print(jsonData);
}
catch{
print("API error: \(error)");
}
}
мойпроблема является то, что данные в
do{
let jsonData : NSDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary;
print(jsonData);
}
остается пустым. Когда я отлаживаю, соединение запускается успешно, с указанным URL-адресом в качестве параметра. Но моя переменная jsonData не печатается. Вместо этого блок catch выдает ошибку, утверждая, что в моей переменной нет данных:
API error: Error Domain=NSCocoaErrorDomain Code=3840 "No value."
Может кто-нибудь, пожалуйста, помогите мне с этим? Что мне не хватает?
Спасибо всем большое заранее!
[Отредактировано после переключения с NSURL Connection на NSURLSession]