我试图使用NSURLSession从url获取ID,但是let task = NSURLSession....和task.resume之间的代码从未被执行(我在里面放置了一个断点来检查,正如您在附加的图像中看到的那样)。
我遗漏了什么?
func getPlayingSongData() {
while loopItem < IDsForSongsToPlay.count {
self.getPlayingSongDataLoop()
loopItem++
}
self.stream()
}
func getPlayingSongDataLoop() {
playerStatus = "Paused"
let songIDToGet = IDsForSongsToPlay[loopItem]
let url:NSURL = NSURL(string: "http://url.com/ajax.php?call=song&id=\(songIDToGet)")!
print(url)
let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in
// Convert Json data into an Array
let songID:[String:String] = (try! NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.MutableContainers)) as! [String:String]
print(songID["id"]!)
self.StreamIDsForSongs.append((songID["id"]!))
songPlaying = songID["title"]!
}
task.resume()
}更新:
我改变了
让Task= NSURLSession.sharedSession().dataTaskWithURL(url) {(数据:NSData?,响应:NSURLResponse?,错误:NSError?)
至
让任务= NSURLSession.sharedSession().dataTaskWithURL(url) {(数据、响应、错误)在
然后对我起了作用。
我的带断点的代码
发布于 2015-11-13 22:46:47
根据苹果的功能*完成处理程序:)
创建一个任务,检索指定URL的内容,然后在完成时调用处理程序。
如果请求成功完成,则完成处理程序块的data参数包含资源数据,而error参数是nil。如果请求失败,则数据参数为nil,而error参数包含有关故障的信息。
然后,您应该看到每个参数与请求有关的值。
希望这能帮到你。
https://stackoverflow.com/questions/33702431
复制相似问题