我正在向Alamofire lib发出请求,我有一个类用于登录,注册等请求,所以我需要一个界面来注意Alamofire收到回复的时间。我怎么能在swift中做到这一点?
这是我的Trans.swift
的一部分class Trans{
func getToken(username: String , password: String){
Alamofire.request(.GET, "http://www.shafadoc.ir/api/DocApp/Token?value=" + username + ":" + password ,parameters:nil)
.responseJSON{ response in
if let json = response.result.value{
}
}
}
}
和我的LoginViewController:
if !login_password.text!.isEmpty || !login_username.text!.isEmpty
{
var trans : Trans = Trans
trans.getToken(login_username.text!, password: login_password.text!)
}
答案 0 :(得分:2)
传递给.responseJSON
方法的块是请求完成时通知您的位置。您可以在trans.getToken
中传递回调块,并在.responseJSON
内调用该块。像这样:
func getToken(username: String , password: String, completion: Void -> Void){
Alamofire.request(.GET, "http://www.shafadoc.ir/api/DocApp/Token?value=" + username + ":" + password ,parameters:nil)
.responseJSON{ response in
if let json = response.result.value{
}
//... do anything you want with the result, and finally:
completion() // <-- call the block
}
}
在视图控制器中:
if !login_password.text!.isEmpty || !login_username.text!.isEmpty
{
var trans : Trans = Trans
trans.getToken(login_username.text!, password: login_password.text!) {
//... do your UI stuff
}
}