Un nouveau type Swift ici. J'essaie de comprendre comment enchaîner plusieurs appels Alamofire.Alamofire request chaining - Impossible d'appeler la valeur du type non-fonction 'HTTPURLResponse'
J'ai besoin de
- obtenir un jeton d'authentification du serveur 1
- obtenir des données du serveur 1 (besoin du jeton de auth)
- obtenir un jeton d'authentification du serveur 2
- Plus données du serveur 2 sur la base des valeurs de l'étape 2.
J'ai essayé suivant les exemples de cet article: Chain multiple Alamofire requests
Malheureusement, aucun de ces exemples travaillent avec Swift 4.
J'ai décidé de poursuivre l'option 2, mais continuer à obtenir un
Impossible valeur appeler de type non-fonction '
HTTPURLResponse?
'
erreur à la fois sur les lignes putRequest
et getRequest
. Je n'ai aucune idée de ce que cela signifie ou comment le réparer.
Mon code actuel:
import UIKit
import PromiseKit
import Alamofire
import SwiftyJSON
class ViewController: UIViewController {
let URL = "http://httpbin.org/"
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func runPutRequest() {
let putRequest = Alamofire.request("\(URL)/get")
putRequest.response { [weak self] putRequest, putResponse, putData, putError in
if let strongSelf = self {
// Probably store some data
strongSelf.runGetRequest()
}
}
}
func runGetRequest() {
let getRequest = Alamofire.request("\(URL)/get", method: .get)
getRequest.response { [weak self] getRequest, getResponse, getData, getError in
if let strongSelf = self {
// Probably store more data
strongSelf.processResponse()
}
}
}
func processResponse() {
// Process that data
}
func reloadData() {
// Reload that data
}
}
Toute aide serait grandement appréciée.