2017-09-17 16 views
-1

firebuildについてのチュートリアルビデオを終了します。performSegueが動作していないFireBaseがユーザー認証を確認している間Swift 3/4

ユーザーがすでに認証されている場合は、現在segueを実行しようとしています。

私はテストのために使用しているので、仕事を知っているセグーと私はperformSegueで私の場合、私は何かを印刷します。

は私のコード

func verifDejaConnecter() { 
    if Auth.auth().currentUser?.uid != nil { 
     performSegue(withIdentifier: "segueAccueilToPres", sender: nil) 
     print("test") 
    } else { 
     return 
    } 
} 

mySegueが作成された作品が、何がここに追加されています。私は試してみてくださいテストは何もmoovingされていない場合は...しかし

+0

ここで、あなたはverifDejaConnecterを呼び出していますか? –

答えて

0

に印刷から生じ見ることができますコンソールで

この:あなたは別のコントローラを表示したい場合は開くとき

func verifDejaConnecter() { 
    if Auth.auth().currentUser?.uid != nil { 
    DispatchQueue.main.async { 
     self.performSegue(withIdentifier: "segueAccueilToPres", sender: self) 
     print("test") 
    } 
    } else { 
    return 
    } 
} 
+0

うまく動作しますDispatchQueue.main.asyncが何度もありがたいことを理解しようと思います:) –

+0

メインスレッドでコードを実行します。メインスレッドで常にUI更新を実行します。 :-) –

0

アプリケーションがログインしている場合は、私は別のコントローラをインスタンス化することをお勧めします...これは私が使用しているコードをHeres。あなたはアイデンティティ、ストーリーボードアイデンティティの下でストーリーボードアイデンティティインスペクタに入力するこれらが必要になります「LoginController」&「tabBarController」(AppDelegateで)

if ((Auth.auth().currentUser) != nil) 
    { 
     initialViewController = mainStoryboard.instantiateViewController(withIdentifier: "tabBarController") as! UITabBarController // or UIViewController depending on your setup. 
    } 
    else 
    { 
     initialViewController = mainStoryboard.instantiateViewController(withIdentifier: "LoginController") as! 
     LoginController // or your login controller. 
    } 

    self.window?.rootViewController = initialViewController 

    self.window?.makeKeyAndVisible() 

+0

私はデイビットを助けてくれてありがとうございました。 –

関連する問題