如何 "get/download" data/json 来自 dataTask(with: request)
How to "get/download" data/json from a dataTask(with: request)
我想获取 json 文件的下载进度。我当前的代码使用如下所示的完成处理程序:
let dataTask = downloadSession.dataTask(with: request){
data,response,error in
// do....try here I handle the json file successfully
}
dataTask.resume()
问题是我正在尝试使用 URLSessionDataDelegate 和函数:
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
displayAlertMessage(message: "Data was received")
}
上面的函数永远不会被调用。根据我在网络上所做的研究,其背后的原因是 Handler 阻止了它并且不让委托按照预期的方式工作。那么我该如何解决这个问题呢?
我需要来自处理程序的数据,但我还需要来自 URLSessionDataDelegate 的下载进度。该怎么办?有没有办法同时获得两者?
您只能使用一种 API – 基于块或基于委托。
考虑
- JSON 文件大到需要百分比进度指示器吗?
- 不确定旋转指标是否足够?
在 iOS 中,您可以简单地使用 isNetworkActivityIndicatorVisible
of UIApplication
我想获取 json 文件的下载进度。我当前的代码使用如下所示的完成处理程序:
let dataTask = downloadSession.dataTask(with: request){
data,response,error in
// do....try here I handle the json file successfully
}
dataTask.resume()
问题是我正在尝试使用 URLSessionDataDelegate 和函数:
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
displayAlertMessage(message: "Data was received")
}
上面的函数永远不会被调用。根据我在网络上所做的研究,其背后的原因是 Handler 阻止了它并且不让委托按照预期的方式工作。那么我该如何解决这个问题呢?
我需要来自处理程序的数据,但我还需要来自 URLSessionDataDelegate 的下载进度。该怎么办?有没有办法同时获得两者?
您只能使用一种 API – 基于块或基于委托。
考虑
- JSON 文件大到需要百分比进度指示器吗?
- 不确定旋转指标是否足够?
在 iOS 中,您可以简单地使用 isNetworkActivityIndicatorVisible
of UIApplication