2016-07-15 2 views
0

Я пытаюсь сделать NSURLSession называть так:Swift 2 - NSURLSession Не работает

let requestString = NSString(format: "http://api.com/api/Action/?tag=%d", Int(barcode)!) as String 
let url: NSURL! = NSURL(string: requestString) 

urlSession.dataTaskWithURL(url) {(data, response, error) -> Void in 

    do {   
     let jsonData = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as! [AnyObject]  
     print(jsonData) 

    } catch { 


    } 
} 

Моя проблема заключается в том, что код внутри do заявления не получить выполняется, поэтому оператор печати не получает казнены. Я попытался поставить print("Error") внутри оператора catch, и это даже не выполняется. Я пытаюсь сделать синхронный вызов NSURLSession, чего мне здесь не хватает?

+0

Вы пытаетесь сделать синхронный вызов с использованием асинхронного метода – dan

+3

Вы также никогда не называют 'резюме()' на задача так никогда не запускается – dan

+0

@dan, то как мне сделать синхронный вызов? – user979331

ответ

1

Вам нужно позвонить резюме явно на возвращенной dataTask, чтобы он выполнен

let dataTask = session.dataTaskWithURL(...) 
dataTask.resume 
Смежные вопросы