Sto tentando di eseguire una richiesta alamofire Share rapidafare una richiesta asincrona alamofire sincrona
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
}
ma io sono in esecuzione in difficoltà che lo rende in modo sincrono. Sono consapevole che l'esecuzione di una funzione asincrona (come quella fornita da Alamorfire) non è generalmente accettata, ma nel mio caso devo farlo in modo sincrono.
cercare di capire il modello asincrono. C'è sempre un modo per conformarsi ad esso. Nel tuo caso implementa un blocco di completamento per restituire i dati, ad esempio 'func checkIfUserExistsInDB (userName: String, completion: (String) -> Void)' – vadian
potresti elaborare? Sono molto nuovo per swift – mark
Ho scritto una risposta. – vadian