5
我試圖執行迅速進行異步alamofire要求同步
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
}
的alamofire POST請求,但我遇到了麻煩使其同步。我知道製作一個異步函數(就像Alamorfire提供的那個函數)通常不被接受,但在我的情況下,我必須同步執行。
試圖瞭解異步模式。總有一種方法可以符合它。在你的情況下,實現一個完成塊來返回數據,例如'func checkIfUserExistsInDB(userName:String,completion:(String) - > Void)' – vadian
你能否詳細說明一下?我對swift很新穎 – mark
我寫了一個答案。 – vadian