Wie mache ich eine synchrone Anfrage mit Alamofire?
Ich versuche eine synchrone Anfrage mit @ zu machAlamofire
. Ich habe auf Stackoverflow geschaut und diese Frage gefunden:Eine asynchrone Alamofire-Anforderung synchronisieren.
Ich habe gesehen, dass die akzeptierte Antwort @ verwendcompletion
zu @ machAlamofire
Anfrage synchron, aber ich kann es nicht zum Laufen bringen. Das ist mein vereinfachter Code:
func loadData(completion: (Bool)) -> (Int, [String], [String], [String]){
Alamofire.request(url!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { response in
switch(response.result) {
case .success(_):
if let JSON = response.result.value as! [[String : AnyObject]]!{
//Here I retrieve the data
}
completion(true)
break
case .failure(_):
print("Error")
completion(false)
break
}
}
return (numberRows, nameArray, ageArray, birthdayArray)
}
Mit diesem Code erhalte ich eine Fehlermeldung, wenn ich versuche, @ zu machecompletion(bool value)
. Der Fehler, den ich erhalte, ist der folgende:
Cannot call value vom Nicht-Funktionstyp 'Bool'
Ich habe versucht, anhand vieler Beispiele mithilfe der Vervollständigung die Werte synchron abzurufen (da ich die Daten erst abrufen muss, um sie in einer Tabelle anzuzeigen und gleichzeitig die Anzahl der Zeilen dieser Tabelle abzurufen), ohne Erfolg.
Wie kann ich diese Vervollständigung verwenden, um eine synchrone Antwort zu erhalten?
Danke im Voraus