在我的iOS应用中,我有Button
的登录信息,可以从viewController
转到另一个@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
(基于控制台输出)时测试了此函数,并且应用程序根据在后续require 'bundler/setup'
上执行的代码崩溃。我知道它崩溃的原因(没有用户数据),但我不知道为什么会执行segue。
如果您需要更多代码进行诊断,请询问。
答案 0 :(得分:4)
在故事板中,您需要在两个视图控制器之间创建segue而不是DestinationViewController的按钮。
请删除该segue并从LoginViewController创建一个segue到DestinationViewController。