我正在使用NSURLSession + NSURLDownloadTask和completionHandler:
[session downloadTaskWithURL:downloadURL completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error)
Run Code Online (Sandbox Code Playgroud)
它很好用.
但是当我想在progressBar中跟踪下载时,我遇到了问题.我正在尝试使用NSURLSessionDownloadDelegate来跟踪加载.上面的completionHandler它永远不会被调用?!
使用:
NSURLSessionDownloadTask *downloadTask =
[session downloadTaskWithURL:downloadURL];
Run Code Online (Sandbox Code Playgroud)
会打电话给代表们.
有没有办法使用completionHandler和委托?
或者在使用completionHandler时跟踪下载的任何其他方式?
要使用didWriteData的方法NSURLSessionDownloadDelegate,遗憾的是您必须使用downloadTaskWithURL不带的再现completionHandler,然后实现您自己的URLSession:downloadTask:didFinishDownloadingToURL:来执行您本来会在完成处理程序中执行的操作。
这有点烦人(特别是因为它NSURLSessionDownloadDelegate是在会话对象上设置的),但这就是它的工作原理。
| 归档时间: |
|
| 查看次数: |
2965 次 |
| 最近记录: |