2015-06-10 215 views
2

我的應用程序中的segue被多次調用,導致視圖持續「加載」,直到應用程序停止調用segue函數。它完成了大約4次,直到完成。設置斷點在代碼後,我注意到,應用在這兩個功能之間彈跳:Swift segue執行多次

if success { 
    self.performSegueWithIdentifier("startGame", sender: "user") 
} 

這是觸發賽格瑞(用戶掃描的東西)的作用。然後它進入下一個斷點:

if (segue.identifier == "startGame") { 
    let destinationNavigationController = segue.destinationViewController as! GameViewController 
    destinationNavigationController.user = self.users[self.currentUser] 
} 

該應用程序在兩個部分之間來回約4次。當我在故事板中創建segue時,我確保將視圖控制器本身的segue(不是表格/ UI視圖)連接到目標視圖。

我還能做些什麼來解決這個問題?

謝謝! enter image description here

回答

0
  1. 在故事板中,通過按住控件並從第一個視圖控制器的黃色圖標拖動到第二個視圖控制器來創建一個segue。
  2. 給它一個id,如果它們嵌入到導航控制器中,種類應該是push
  3. 在您的第一視圖控制器類:

    override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if segue.identifier == "startGame" { 
        let viewController = segue.destinationViewController as! GameViewController 
        // this next view controller should have property that will store passed value 
        viewController.user = self.users[self.currentUser] 
    } 
    

    }

  4. 當你想移動到下一個視圖控制器:

    performSegueWithIdentifier("startGame", sender: self) 
    
+0

如何比這不同@james提供的代碼? – krummens