IOS 8进度条下载延迟更新(快速)

时间:2015-03-09 22:00:17

标签: ios swift

我创建了一个应用程序,用户可以下载一些资产。 我正在使用NSURLSession下载和跟踪UIProgressView的进度。

Folow my code:

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

    var progress = ("\(((totalBytesWritten * 100) / totalBytesExpectedToWrite))" as NSString).floatValue / 100

    println("progress: \(progress)")

    progressBar.setProgress(progress, animated: true)
    progressLabel.text = "\(progresso)"     
}

使用此代码,我可以在控制台中看到从0.0到1.0的值 但我的进度条视图仅在0.0,0.4,0.9,1.0处更新。或者类似的东西。

1 个答案:

答案 0 :(得分:1)

我在Zaph的帮助下找到了答案。

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

    var progress = ("\(((totalBytesWritten * 100) / totalBytesExpectedToWrite))" as NSString).floatValue / 100

    println("progress: \(progress)")

    dispatch_async(dispatch_get_main_queue()) {

        progressBar.setProgress(progress, animated: true)    

    }

}