2017-09-07 143 views
2
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Tried to pop to a view controller that doesn't exist.' 

使用此代碼時popToViewController不工作,但popViewController確實

self?.navigationController?.popToViewController(vc2, animated: true) 

但是,當我試圖簡單地彈出其工作

self?.navigationController?.popViewController(animated: true) 

我推這個的viewController像

navigationController?.pushViewController(vc2, animated: true) 

我不確定,pushi一個視圖意味着當我嘗試做popToViewController。它有一個頂部的視圖。請幫助

+0

可能兩個對象在推送和彈出時都不相同。您能否展示您推送的地方以及您流行的地方的代碼。 –

回答

3

試試這個: -

for obj in (self.navigationController?.viewControllers)! { 
      if obj is TestViewController { 
    let vc2: TestViewController = obj as! TestViewController 
    vc2.data = data 
       _ = 
self.navigationController?.popToViewController(vc2, animated: true) 
    break 
      } 
     } 

確保您的視圖控制器上navigationcontroller堆棧增加。

+0

Thnx快速回答。一個問題,我試圖傳遞數據,但無法這樣做與你的code.ex - 我想要的代碼是obj.data =數據。 – cole

+0

使用obj投射您的控制器並傳遞數據。 – Pushpendra

+0

你能告訴我怎麼做 因爲我使用let vc2 = self?.storyboard?.instantiateViewController(withIdentifier:「TestViewController」)as! TestViewController 然後使用vc2,data = data – cole

相關問題