2016-04-30 3 views
0

я страницу входа в систему, которые используют вызов API для проверки учетных данных в конце я представить главную страницу как модальный с performSegue так:Выполнение SEGUE не работает внутри апи вызова

@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 не работает, я вижу главную страницу за 1 секунду, а затем возвращается к логину.

NB: Segue отлично работает, когда я использую его вне вызова API

Thank-х заранее

ответ

0

Никогда не обновлять интерфейс на фоне потока, а не выполнить переход на главном потоке, как так

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

Я уже пробовал это, но он не работает. мой segue только не работает, когда я убиваю приложение, и я перезапускаю его. в первый раз он работает идеально без основной нити –

Смежные вопросы