2016-08-23 97 views
1

在我的iOS應用程序,我有一個日誌Button從一個viewController到另一個,它使用了下面的函數去:爲什麼我的segue被執行?

@IBAction func logInButton(sender: AnyObject) { 
    if loggedIn == true { 
     // user is signed in 
     print("A user is logged in.") 
     uid = user.uid 
     self.currentUser(uid) 
     self.performSegueWithIdentifier("logIn", sender: sender) 
    } else { 
     print("No current user.") 
     let anim = CAKeyframeAnimation(keyPath:"transform") 
     anim.values = [ 
      NSValue(CATransform3D:CATransform3DMakeTranslation(-10, 0, 0)), 
      NSValue(CATransform3D:CATransform3DMakeTranslation(10, 0, 0)) 
     ] 
     anim.autoreverses = true 
     anim.repeatCount = 2 
     anim.duration = 7/100 
     self.passwordTextField.layer.addAnimation(anim, forKey:nil) 
     self.welcomeTextLabel.hidden = false 
     self.welcomeTextLabel.text = "Please sign in first" 
    } 
} 

有其內viewDidLoad()可更新loggedIn值運行的功能。當loggedIn == false(基於控制檯輸出),我測試了這個函數,並且應用程序基於在後續的viewController上執行的代碼崩潰。我知道它爲什麼會崩潰(沒有用戶數據),但我不知道爲什麼會執行segue。

如果您需要更多代碼來診斷,請詢問。

+2

也許你已經從logInButton向下一個視圖控制器顯示「show」segue並忘記了它?這segue工作沒有任何額外的代碼 –

回答

4

在你的故事板中,你需要在兩個視圖控制器之間創建segue,而不是按鈕到DestinationViewController。

請刪除該segue並從您的LoginViewController創建一個segue到您的DestinationViewController。

+0

這樣做了,謝謝! – adsigel