Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何显示后台线程中正在执行的任务的进度视图_Ios_Swift_Progress Bar_Nsurlsession - Fatal编程技术网

Ios 如何显示后台线程中正在执行的任务的进度视图

Ios 如何显示后台线程中正在执行的任务的进度视图,ios,swift,progress-bar,nsurlsession,Ios,Swift,Progress Bar,Nsurlsession,我正在使用NSURLSession的dataTaskWithRequest将数据下载到我的应用程序中 当前,当我的应用程序从web服务器下载数据时,我在我的视图控制器上显示活动视图覆盖 我的用户要求我显示一个自定义动画,跟踪下载过程的执行完成情况 我知道dataTaskWithRequest是异步的,在后台线程中执行。我还知道我可以nsurlsessionelegate方法 func URLSession(session: NSURLSession, task: NSURLSessionTask

我正在使用NSURLSession的dataTaskWithRequest将数据下载到我的应用程序中

当前,当我的应用程序从web服务器下载数据时,我在我的视图控制器上显示活动视图覆盖

我的用户要求我显示一个自定义动画,跟踪下载过程的执行完成情况

我知道
dataTaskWithRequest
异步的
,在
后台线程中执行。我还知道我可以
nsurlsessionelegate
方法

func URLSession(session: NSURLSession, task: NSURLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {}
跟踪正在上载的数据的进度。所以,我想知道是否有任何方法可以为下载活动分配进度视图


任何建议都会有帮助。谢谢。

您应该能够使用委托方法

func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten writ: Int64, totalBytesExpectedToWrite exp: Int64)
它的工作方式与didSendBodyData的工作方式几乎相同

它不会将下载链接到进度视图,但设置
progressView.progress=Float(TotalBytesWrite)/Float(totalBytesExpectedToWrite)
在该委托方法内部