如何"获取/下载" dataTask中的data / json(带:request)

时间:2016-12-05 19:57:58

标签: ios swift3 nsurlsession nsurlsessiondatatask

我想获得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下载进度。该怎么办?有没有办法让两者兼得?

1 个答案:

答案 0 :(得分:0)

您只能使用一种API - 基于块或基于委托。

考虑

  • JSON是一个如此大的文件,你需要百分比进度指示器吗?
  • 不确定的纺纱指示器是否足够?

在iOS中,您只需使用isNetworkActivityIndicatorVisible

UIApplication即可