2016-08-23 14 views
1

、私は次の関数を使用する、別のviewControllerからどこへ行くButtonでログを持っている:なぜ私のセグーは実行されていますか?私のiOSアプリで

@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" 
    } 
} 

loggedIn値を更新viewDidLoad()内で実行される機能があります。私はloggedIn == false(コンソール出力に基づいて)、このアプリケーションをテストしました。そのアプリケーションは、次のviewControllerで実行されるコードに基づいてクラッシュします。私はそれがクラッシュする理由を知っています(ユーザーデータはありません)が、なぜセグがすべて実行されているのかわかりません。

診断するコードがさらに必要な場合は、お尋ねください。

+2

あなたはlogInButtonから次のView Controllerに "show" segueを作成して忘れていたのでしょうか?追加コードなしでこのセグの仕事 –

答えて

4

ストーリーボードでは、button to DestinationViewControllerの代わりに2つのView Controller間でSegueを作成する必要があります。

Segueを削除し、LoginViewControllerからDestinationViewControllerに1つのセグを作成してください。

+0

それは、ありがとう! – adsigel

関連する問題