In meinem iOS app, ich habe ein Protokoll in Button
von einem viewController
zum anderen zu gehen, die die folgende Funktion verwendet:Warum wird meine Überleitung durchgeführt?
@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"
}
}
Es gibt eine Funktion, die innerhalb viewDidLoad()
läuft, der den loggedIn
Wert aktualisiert. Ich habe diese Funktion getestet, wenn loggedIn == false
(basierend auf Konsolenausgabe), und die App abstürzt basierend auf Code, der auf dem folgenden viewController
ausgeführt wird. Ich weiß, warum es abstürzt (keine Benutzerdaten), aber ich weiß nicht, warum das Segment überhaupt ausgeführt wird.
Wenn Sie mehr Code zur Diagnose benötigen, fragen Sie bitte.
Vielleicht haben Sie "show" von logInButton zum nächsten View-Controller und vergessen Sie es? Diese Strecke funktioniert ohne zusätzlichen Code –