这就是我使用 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()
,然后<figure>
继续下载。有可能吗?
答案 0 :(得分:4)
NSURLSessionTask的这种方法
Error: Cannot output multiple independently repeated fields at the same time.
文档
任务暂停时不会产生网络流量,也不会超时。下载任务可以在以后继续传输数据。所有其他任务必须在恢复时重新开始。
答案 1 :(得分:3)
请勿拨打sessionDownloadTask.cancel()
而是使用电话sessionDownloadTask.cancelByProducingResumeData
,无论何时想要恢复下载,请使用NSURLSession
的方法
sessionManager.downloadTaskWithResumeData:resumeDataObject