Ich versuche eine alamofire Post-Anforderung in SWIFTsie ein asynchrones Anforderungs alamofire synchrones
func checkIfUserExistsInDB(userName: String) -> NSString
{
print ("IN")
var info: NSString = ""
Alamofire.request(.POST, "http://blablabla.com/getuserdata", parameters: ["queryValue": userName,], encoding:.JSON).responseJSON { request, response, result in
switch result {
case .Success(let JSON):
info = NSString(data: JSON.dataUsingEncoding(NSUTF8StringEncoding)!, encoding: NSUTF8StringEncoding)!
case .Failure(let data, _):
print ("IN")
if let data = data {
info = (NSString(data: data, encoding: NSUTF8StringEncoding)!)
print (info)
}
}
}
return info
}
aber ich bin mit in Schwierigkeiten auszuführen sie synchron zu machen. Ich bin mir bewusst, dass eine asynchrone Funktion (wie die von Alamorfire) nicht allgemein akzeptiert wird, aber in meinem Fall muss ich es synchron tun.
Versuchen Sie, das asynchrone Muster zu verstehen. Es gibt immer einen Weg, sich anzupassen. In Ihrem Fall implementieren Sie einen Completion-Block, um die Daten zurückzugeben, zum Beispiel 'func checkIfUserExistsInDB (benutzername: String, completion: (String) -> Void)' – vadian
Könnten Sie das ausarbeiten? Ich bin sehr schnell zu schnell – mark
Ich schrieb eine Antwort. – vadian