2016-07-15 88 views
0

我試圖做NSURLSession調用像這樣:斯威夫特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聲明裏面的代碼沒有得到執行,所以打印語句沒有得到執行。我試圖在catch聲明中放入一個print("Error"),但這個聲明甚至沒有被執行。我試圖做一個同步的NSURLSession調用,我在這裏錯過了什麼?

+0

你試圖使用異步方法做一個同步調用 – dan

+3

你也永遠不會調用'簡歷()'任務,所以它永遠不會運行 – dan

+0

@dan那麼我該如何做一個同步調用? – user979331

回答

1

您需要在電話會議上簡歷明確的返回dataTask得到它執行

let dataTask = session.dataTaskWithURL(...) 
dataTask.resume