首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何暂停NSURLSessionDownloadTask?

如何暂停NSURLSessionDownloadTask?
EN

Stack Overflow用户
提问于 2015-12-14 14:57:10
回答 2查看 2K关注 0票数 2

这就是我使用NSURLSessionDownloadTask的方式

代码语言:javascript
复制
    let sessionConfiguration = NSURLSessionConfiguration.defaultSessionConfiguration()
    let sessionManager = AFURLSessionManager(sessionConfiguration: sessionConfiguration)

    if let url = NSURL(string: URLString) {

        let request = NSURLRequest(URL: url)
        let sessionDownloadTask = sessionManager.downloadTaskWithRequest(request, progress: nil, destination: { (url, response) -> NSURL in

            self.createDirectoryAtPath(destinationPath)

            return destinationPath.URLByAppendingPathComponent(fileName)

            }, completionHandler: { response, url, error in

                completionBlock(error)
        })

        sessionDownloadTask.resume()
    }

我知道我可以调用sessionDownloadTask.cancel()sessionDownloadTask.resume(),但我需要调用.pause(),然后调用.resume()才能继续下载。有可能吗?

EN

回答 2

Stack Overflow用户

发布于 2015-12-14 15:22:20

NSURLSessionTask的这种方法

代码语言:javascript
复制
.suspend()

文档

任务在挂起时不会产生网络流量,也不会超时。下载任务可以在以后继续传输数据。所有其他任务在恢复时都必须重新开始。

票数 4
EN

Stack Overflow用户

发布于 2015-12-14 15:28:00

不要调用sessionDownloadTask.cancel(),而是使用sessionDownloadTask.cancelByProducingResumeData调用,只要您想恢复下载,就使用NSURLSession方法

sessionManager.downloadTaskWithResumeData:resumeDataObject

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34261309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档