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

Ios 如何区分后台会话中的下载任务?,ios,swift,nsurlsession,Ios,Swift,Nsurlsession,我目前正试图对一个问题进行调试,我的后台下载任务在网络切换期间神秘地失败,并发现一些文档建议我应该将多个任务放入一个后台会话中 在会话中添加多个后台任务后,如何确定正在查看的任务?举个例子,假设我已经从服务器下载了一个数据条目列表,并且我正在使用后台会话处理来下载它们关联的缩略图 后台任务完成后,会话委托将收到一个到urlSession(\usession:urlSession,downloadTask:URLSessionDownloadTask,didfishdownloadingto lo

我目前正试图对一个问题进行调试,我的后台下载任务在网络切换期间神秘地失败,并发现一些文档建议我应该将多个任务放入一个后台会话中

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

后台任务完成后,会话委托将收到一个到
urlSession(\usession:urlSession,downloadTask:URLSessionDownloadTask,didfishdownloadingto location:URL)的回调。

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


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

NSURLSessionDownloadTask
NSURLSessionTask
的子类,它有一个可以设置的
taskIdentifier
属性。因此,
NSURLSessionDownloadTask
对象是
NSURLSessionTask
的一个实例,您可以设置它的
taskIdentifier
属性。

您是否查看了文档中缺少的
taskDescription
taskIdentifier
属性?@rmaddy,谢谢。taskIdentifier是一个只能获取的属性,您无法设置它。但您可以“获取”它并将其存储在任务创建中。