小编典典

session.dataTaskWithURL completeHandler从未调用

swift

我有以下代码:

let urlPath:String = apiURL + apiVersion + url + "?api_key=" + apiKey
let url = NSURL(string: urlPath)
let session = NSURLSession.sharedSession()
println(url!)
let task = session.dataTaskWithURL(url!, completionHandler: {(data, reponse, error) in
    println("Task completed")
    // rest of the function...
})

从不调用completionHandler函数。我尝试在浏览器中调用该URL,但工作正常。我尝试使用另一个URL,但仍然无法正常工作。我检查了一下我的ios模拟器是否可以连接到Internet,确实可以。

我不知道为什么不调用该函数,并且由于我没有任何错误,因此很难调试。


阅读 231

收藏
2020-07-07

共1个答案

小编典典

该任务永远不会完成,因为它永远不会开始。您必须使用其resume()方法手动启动数据任务。

let urlPath = apiURL + apiVersion + url + "?api_key=" + apiKey
let url = NSURL(string: urlPath)!
let session = NSURLSession.sharedSession()

let task = session.dataTaskWithURL(url) { data, response, error in
    print("Task completed")
    // rest of the function...
}

task.resume()
2020-07-07