【问题标题】:How to show progress view for task getting executed in background thread如何显示在后台线程中执行的任务的进度视图
【发布时间】:2015-11-18 09:31:57
【问题描述】:

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

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

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

我知道dataTaskWithRequestasynchronous 并在background thread 中执行。我也知道我可以NSURLSessionDelegate方法

func URLSession(session: NSURLSession, task: NSURLSessionTask, didSendBodyData bytesSent: Int64, totalBytesSent: Int64, totalBytesExpectedToSend: Int64) {}

跟踪正在上传的数据的进度。所以,我想知道是否有任何方法可以为下载活动分配进度视图。

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

【问题讨论】:

    标签: ios swift progress-bar nsurlsession


    【解决方案1】:

    你应该可以使用委托方法

    func URLSession(session: NSURLSession, downloadTask: NSURLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten writ: Int64, totalBytesExpectedToWrite exp: Int64)
    

    didSendBodyData的工作方式几乎相同

    它不会将下载链接到您的进度视图,但设置 progressView.progress = Float(totalBytesWritten) / Float(totalBytesExpectedToWrite) 应该很简单 在那个委托方法中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-29
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多