session.dataTaskWithURL completionHandler 从未调用过
session.dataTaskWithURL completionHandler never called
我有以下代码:
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,确实如此。
我不知道为什么函数没有被调用,因为我没有任何错误所以很难调试。
任务永远不会完成,因为它永远不会开始。您必须使用其 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()
我有以下代码:
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,确实如此。
我不知道为什么函数没有被调用,因为我没有任何错误所以很难调试。
任务永远不会完成,因为它永远不会开始。您必须使用其 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()