Sfoglia il codice sorgente

Refactoring queue assignment to use self-invoking closure

Mattt Thompson 11 anni fa
parent
commit
49ce6d431e
1 ha cambiato i file con 7 aggiunte e 4 eliminazioni
  1. 7 4
      Source/Alamofire.swift

+ 7 - 4
Source/Alamofire.swift

@@ -680,11 +680,14 @@ public class Request {
         init(task: NSURLSessionTask) {
             self.task = task
             self.progress = NSProgress(totalUnitCount: 0)
+            self.queue = {
+                let label: String = "com.alamofire.task-\(task.taskIdentifier)"
+                let queue = dispatch_queue_create((label as NSString).UTF8String, DISPATCH_QUEUE_SERIAL)
 
-            let label: String = "com.alamofire.task-\(task.taskIdentifier)"
-            let queue = dispatch_queue_create((label as NSString).UTF8String, DISPATCH_QUEUE_SERIAL)
-            dispatch_suspend(queue)
-            self.queue = queue
+                dispatch_suspend(queue)
+
+                return queue
+            }()
         }
 
         // MARK: NSURLSessionTaskDelegate