Swift 如何等待Alamofire完成联网?

Swift 如何等待Alamofire完成联网?,swift,networking,alamofire,Swift,Networking,Alamofire,我想等到Alamofire的联网完成 然而,使用目前的代码,它不会等待联网完成,然后通过login()函数移动到下一页 你能告诉我怎么等到阿拉莫菲的联网完成吗 @IBAction func signInWithTwitter(sender: UIButton) { Twitter.sharedInstance().logInWithCompletion { (session: TWTRSession!, error: NSError!) -> Void in if

我想等到Alamofire的联网完成

然而,使用目前的代码,它不会等待联网完成,然后通过login()函数移动到下一页

你能告诉我怎么等到阿拉莫菲的联网完成吗

@IBAction func signInWithTwitter(sender: UIButton) {

    Twitter.sharedInstance().logInWithCompletion { (session: TWTRSession!, error: NSError!) -> Void in
        if session != nil {
            let parameters = [
                "tw_id":session.userID,
                "tw_name" :session.userName,
                "tw_token":session.authToken
            ]

            Alamofire.request(.POST, self.uri.usersApi + "/tw_login", parameters: parameters, encoding: .JSON)
                .responseJSON { (request, response, data, error) in
                    var jsonObj = JSON(data!)
                    var uid = jsonObj["user_id"].int
                    self.defaults.setObject(uid, forKey: "uid")
            }

            self.login()

        } else {
            println(error.localizedDescription)
        }
    }
}

尝试将登录方法放入
Alamofire
块中

Alamofire.request(.POST, self.uri.usersApi + "/tw_login", parameters: parameters, encoding: .JSON)
    .responseJSON { (request, response, data, error) in
        var jsonObj = JSON(data!)
        var uid = jsonObj["user_id"].int
        self.defaults.setObject(uid, forKey: "uid")
        self.login()
}

不要等到请求完成,而是将依赖于请求的任何内容放入
响应
闭包中,并让它异步运行,如下面的iAshish所示。