onevcat 5 gadi atpakaļ
vecāks
revīzija
01f5aa076c
1 mainītis faili ar 12 papildinājumiem un 7 dzēšanām
  1. 12 7
      Sources/Networking/ImageDownloader.swift

+ 12 - 7
Sources/Networking/ImageDownloader.swift

@@ -235,11 +235,17 @@ open class ImageDownloader {
         return downloadTask
     }
 
-    private func startDownloadTask(_ downloadTask: DownloadTask, context: DownloadingContext) {
+    private func startDownloadTask(
+        context: DownloadingContext,
+        callback: SessionDataTask.TaskCallback
+    ) -> DownloadTask
+    {
+
+        let downloadTask = addDownloadTask(context: context, callback: callback)
 
         let sessionTask = downloadTask.sessionTask
         guard !sessionTask.started else {
-            return
+            return downloadTask
         }
 
         sessionTask.onTaskDone.delegate(on: self) { (self, done) in
@@ -295,6 +301,7 @@ open class ImageDownloader {
         }
         delegate?.imageDownloader(self, willDownloadImageForURL: context.url, with: context.request)
         sessionTask.resume()
+        return downloadTask
     }
 
     // MARK: Dowloading Task
@@ -336,12 +343,10 @@ open class ImageDownloader {
             return nil
         }
 
-        let context = DownloadingContext(url: url, request: request, options: options)
-        // Ready to start download. Add it to session task manager (`sessionHandler`)
-        let downloadTask = addDownloadTask(
-            context: context, callback: createTaskCallback(completionHandler, options: options)
+        let downloadTask = startDownloadTask(
+            context: DownloadingContext(url: url, request: request, options: options),
+            callback: createTaskCallback(completionHandler, options: options)
         )
-        startDownloadTask(downloadTask, context: context)
         return downloadTask
     }