使用单个URLSessionDownloadDelegate确认类来使用多个下载任务是一种好方法吗?

时间:2017-07-17 11:22:47

标签: ios nsurlsession nsurlsessiondownloadtask

目前,我正致力于实施网络管理器来处理下载和上传任务。我有一个类确认URLSessionDownloadDelegate,URLSessionDelegate。我面临的问题是我使用的是一个用于所有服务调用的会话对象。因此,当处理多个网络操作时,将在实现委托方法的类中处理所有响应回调。因此,为了找到响应已到达的调用,我将比较委托方法的任务参数和当前正在运行的所有任务(我对类中确认的每个委托方法都有闭包属性)会话协议)。有没有其他方法可以达到这个结果?(我认为这在处理大量请求时不会是一个很好的解决方案)

1 个答案:

答案 0 :(得分:1)

理想情况下,您不应该自己进行比较,而应将闭包存储在由任务对象键入的字典中。请务必在任何将一个任务替换为另一个任务的委托方法中更新字典。并确保每次都在同一个线程或串行队列上进行字典查找和存储。