gpt4 book ai didi

ios - NSURLSession 任务未运行

转载 作者:行者123 更新时间:2023-11-30 13:55:19 24 4
gpt4 key购买 nike

我正在尝试使用 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()
}

更新:

我变了

let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in

let task = NSURLSession.sharedSession().dataTaskWithURL(url) { (data, response, error) in

然后它对我有用。

My code with breakpoints

最佳答案

根据Apple的功能dataTaskWithURL(_:completionHandler:) :

Creates a task that retrieves the contents of the specified URL, then calls a handler upon completion.

如果请求成功完成,则完成处理程序 block 的 data 参数包含资源数据,error 参数为 nil。如果请求失败,则 data 参数为 nil,并且 error 参数包含有关失败的信息。

然后您应该会看到与您的请求相关的每个参数的值。

希望这对您有帮助。

关于ios - NSURLSession 任务未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33702431/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com