Browse Source

[Issue #721] Reverted respondsToSelector override removal in SessionDelegate.

Christian Noon 10 years ago
parent
commit
a9480269ac
1 changed files with 21 additions and 0 deletions
  1. 21 0
      Source/Manager.swift

+ 21 - 0
Source/Manager.swift

@@ -645,5 +645,26 @@ public class Manager {
         var _streamTaskWriteClosed: Any?
         var _streamTaskBetterRouteDiscovered: Any?
         var _streamTaskDidBecomeInputStream: Any?
+
+        // MARK: - NSObject
+
+        public override func respondsToSelector(selector: Selector) -> Bool {
+            switch selector {
+            case "URLSession:didBecomeInvalidWithError:":
+                return (self.sessionDidBecomeInvalidWithError != nil)
+            case "URLSession:didReceiveChallenge:completionHandler:":
+                return (self.sessionDidReceiveChallenge != nil)
+            case "URLSessionDidFinishEventsForBackgroundURLSession:":
+                return (self.sessionDidFinishEventsForBackgroundURLSession != nil)
+            case "URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:":
+                return (self.taskWillPerformHTTPRedirection != nil)
+            case "URLSession:dataTask:didReceiveResponse:completionHandler:":
+                return (self.dataTaskDidReceiveResponse != nil)
+            case "URLSession:dataTask:willCacheResponse:completionHandler:":
+                return (self.dataTaskWillCacheResponse != nil)
+            default:
+                return self.dynamicType.instancesRespondToSelector(selector)
+            }
+        }
     }
 }