在我的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。
如果您需要更多代碼來診斷,請詢問。
也許你已經從logInButton向下一個視圖控制器顯示「show」segue並忘記了它?這segue工作沒有任何額外的代碼 –