O download do JSON com NSURLSession não retorna nenhum dado
Atualmente, estou tentando baixar, analisar e imprimir JSON a partir de um URL. Até agora cheguei a este ponto:
1) Uma classe (JSONImport.swift), que lida com minha importação:
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)");
}
}
Minhasproblema é que os dados em
do{
let jsonData : NSDictionary = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary;
print(jsonData);
}
permanece vazio. Quando depuro, a conexão inicia com êxito, com o URL fornecido como parâmetro. Mas minha variável jsonData não é impressa. Em vez disso, o bloco catch lança o erro, afirmando que não há dados na minha variável:
API error: Error Domain=NSCocoaErrorDomain Code=3840 "No value."
Alguém por favor pode me ajudar com isso? o que estou perdendo?
Agradecemos antecipadamente a todos!
[Editado após alternar da Conexão NSURL para NSURLSession]