Prechádzať zdrojové kódy

Fixed up compilation errors in the iOS Example around response serializers.

Christian Noon 9 rokov pred
rodič
commit
e1107439a7
1 zmenil súbory, kde vykonal 14 pridanie a 3 odobranie
  1. 14 3
      Example/Source/DetailViewController.swift

+ 14 - 3
Example/Source/DetailViewController.swift

@@ -75,11 +75,12 @@ class DetailViewController: UITableViewController {
         refreshControl?.beginRefreshing()
 
         let start = CACurrentMediaTime()
-        request.responseString { response in
+
+        let requestComplete: (HTTPURLResponse?, Result<String>) -> Void = { response, result in
             let end = CACurrentMediaTime()
             self.elapsedTime = end - start
 
-            if let response = response.response {
+            if let response = response {
                 for (field, value) in response.allHeaderFields {
                     self.headers["\(field)"] = "\(value)"
                 }
@@ -88,7 +89,7 @@ class DetailViewController: UITableViewController {
             if let segueIdentifier = self.segueIdentifier {
                 switch segueIdentifier {
                 case "GET", "POST", "PUT", "DELETE":
-                    self.body = response.result.value
+                    self.body = result.value
                 case "DOWNLOAD":
                     self.body = self.downloadedBodyString()
                 default:
@@ -99,6 +100,16 @@ class DetailViewController: UITableViewController {
             self.tableView.reloadData()
             self.refreshControl?.endRefreshing()
         }
+
+        if let request = request as? DataRequest {
+            request.responseString { response in
+                requestComplete(response.response, response.result)
+            }
+        } else if let request = request as? DownloadRequest {
+            request.responseString { response in
+                requestComplete(response.response, response.result)
+            }
+        }
     }
 
     private func downloadedBodyString() -> String {