Ich arbeite an einem kleinen Teil des Swift-Codes, um mit dem Ziehen von Daten über webbasierte APIs zu arbeiten. Im Moment bin ich nah dran, denke aber, dass ich den Completion-Handler-Aspekt vermisse, wenn ich die Daten innerhalb der getUserInfo() -Daten ausgibt, die dort sind, aber außerhalb dieser Funktion erscheinen die initialisierten Standarddaten. Die Funktion wird wie folgt aufgerufen:Hinzufügen eines Beendigungshandlers zu Alamofire
print("Provided Username is: \(workingData.user)")
getUserInfo()
print("Returned String Data is: \(workingData.responseDataString)")
und die eigentliche Funktion:
func getUserInfo() {
Alamofire.request(workingjss.jssURL + devAPIMatchPath + workingData.user, method: .get)
.authenticate(user: workingjss.jssUsername, password: workingjss.jssPassword).responseString { response in
if (response.result.isSuccess) {
print("In Function Data: \(response.result.value!)"
workingData.responseDataString = response.result.value!
}
}
}
Der Ausgang den Code ausgeführt wird:
Provided Username is: MYUSER
Returned String Data is: Nothing Here Yet
In Function Data: {"Cleaned JSON Data here"}
Würde ein Abschluss-Handler das Problem helfen? Ich bin ziemlich neu in der Arbeit mit Alamofire, es tut mir so leid, wenn es so einfach ist. Vielen Dank!