我的登录页面使用API调用来检查凭证,最后我将主页面作为模态,使用performSegue,如下所示:
@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工作正常,但是当我终止应用程序(使用滑动)并再次登录时,segue无法正常工作,我看到1s的主页面,然后返回登录。
N.B:当我在API调用之外使用它时,segue正常工作
提前感谢
答案 0 :(得分:0)
永远不要在后台线程上更新UI,而是在主线程上执行segue,如此
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("mainSegue", sender: self)
}