在api调用中执行不工作的segue



我有一个登录页面,使用API调用在最后检查凭据,我将主页显示为模式,执行如下:

@IBAction func loginPressed(sender: UIButton) {
    ApiHelper.userService { (service) -> Void in
        let query = GTLUserController.queryForLoginUser(email,password)
        service.executeQuery(query) { (ticket: GTLServiceTicket!, object: AnyObject!, error: NSError!) -> Void in
            if(error != nil){
                return
            }
            //Code...
            self.performSegueWithIdentifier("mainSegue", sender: self)
        }
    }
}

当我第一次启动应用程序时,segue工作正常,但当我终止应用程序(使用滑动)并再次登录时,seue不工作,我看到主页1秒,然后它返回登录。

注意:当我在API调用之外使用segue时,它可以正常工作

提前感谢

永远不要在后台线程上更新UI,而是像一样在主线程上执行segue

dispatch_async(dispatch_get_main_queue()) {
  self.performSegueWithIdentifier("mainSegue", sender: self)
}

最新更新