Browse Source

Fixed deprecation warnings for associated types and selectors for Swift 2.2.

Dominik Hadl 9 years ago
parent
commit
3860631533

+ 1 - 3
Example/Source/DetailViewController.swift

@@ -55,13 +55,11 @@ class DetailViewController: UITableViewController {
 
     override func awakeFromNib() {
         super.awakeFromNib()
-        refreshControl?.addTarget(self, action: "refresh", forControlEvents: .ValueChanged)
-
+        refreshControl?.addTarget(self, action: #selector(DetailViewController.refresh), forControlEvents: .ValueChanged)
     }
 
     override func viewDidAppear(animated: Bool) {
         super.viewDidAppear(animated)
-
         refresh()
     }
 

+ 12 - 7
Source/Manager.swift

@@ -407,7 +407,8 @@ public class Manager {
             }
 
             if let taskDidReceiveChallenge = taskDidReceiveChallenge {
-                completionHandler(taskDidReceiveChallenge(session, task, challenge))
+                let result = taskDidReceiveChallenge(session, task, challenge)
+                completionHandler(result.0, result.1)
             } else if let delegate = self[task] {
                 delegate.URLSession(
                     session,
@@ -729,16 +730,20 @@ public class Manager {
         // MARK: - NSObject
 
         public override func respondsToSelector(selector: Selector) -> Bool {
+            #if !os(OSX)
+                if selector == #selector(NSURLSessionDelegate.URLSessionDidFinishEventsForBackgroundURLSession(_:)) {
+                    return sessionDidFinishEventsForBackgroundURLSession != nil
+                }
+            #endif
+
             switch selector {
-            case "URLSession:didBecomeInvalidWithError:":
+            case #selector(NSURLSessionDelegate.URLSession(_:didBecomeInvalidWithError:)):
                 return sessionDidBecomeInvalidWithError != nil
-            case "URLSession:didReceiveChallenge:completionHandler:":
+            case #selector(NSURLSessionDelegate.URLSession(_:didReceiveChallenge:completionHandler:)):
                 return sessionDidReceiveChallenge != nil
-            case "URLSessionDidFinishEventsForBackgroundURLSession:":
-                return sessionDidFinishEventsForBackgroundURLSession != nil
-            case "URLSession:task:willPerformHTTPRedirection:newRequest:completionHandler:":
+            case #selector(NSURLSessionTaskDelegate.URLSession(_:task:willPerformHTTPRedirection:newRequest:completionHandler:)):
                 return taskWillPerformHTTPRedirection != nil
-            case "URLSession:dataTask:didReceiveResponse:completionHandler:":
+            case #selector(NSURLSessionDataDelegate.URLSession(_:dataTask:didReceiveResponse:completionHandler:)):
                 return dataTaskDidReceiveResponse != nil
             default:
                 return self.dynamicType.instancesRespondToSelector(selector)

+ 2 - 2
Source/ResponseSerialization.swift

@@ -29,10 +29,10 @@ import Foundation
 */
 public protocol ResponseSerializerType {
     /// The type of serialized object to be created by this `ResponseSerializerType`.
-    typealias SerializedObject
+    associatedtype SerializedObject
 
     /// The type of error to be created by this `ResponseSerializer` if serialization fails.
-    typealias ErrorObject: ErrorType
+    associatedtype ErrorObject: ErrorType
 
     /**
         A closure used by response handlers that takes a request, response, data and error and returns a result.