如何区分后台会话中的下载任务?

时间:2017-12-01 16:27:49

标签: ios swift nsurlsession

我目前正在尝试对我的后台下载任务在网络交换机中神秘失败的问题进行一些调试,并发现一些文档表明我应该将多个任务放入一个后台会话。

如果您在会话中添加了多个后台任务,那么如何确定您要查看的任务?举一个例子,假设我已经从服务器下载了一个数据条目列表,并且我使用后台会话处理来下载相关的缩略图。

当后台任务完成时,会话代理会收到urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL)的回调。

我可以在后台会话上设置一个标识符(事实上,你必须);你如何处理个别任务?我想在应用程序重新启动后能够将特定任务与特定数据对象重新关联,但似乎没有任何机制可以这样做。

我是否误解或遗漏了文档中的内容?

1 个答案:

答案 0 :(得分:1)

NSURLSessionDownloadTaskNSURLSessionTask的子类,它具有您可以设置的taskIdentifier属性。因此,NSURLSessionDownloadTask对象NSURLSessionTask实例,您可以将其设置为taskIdentifier属性。