2017-09-19 10 views
0

私はswiftとiOSの新機能です。私はアプリケーションを開始しました。現在、ログイン成功時にセグを実行しようとしています。ログイン成功時にsegueを実行する

Main.storyboard

ナビゲーションコントローラ>ログインシーン>ダッシュボードシーン。ログインcredsをを提出した後、ログインシーンでStoryboard Screenshot

は私が資格情報を検証するためのREST API呼び出しを行います。呼び出しは成功しましたコンソールに印刷することで確認できます。しかし、ダッシュボードへのセグは決して起こらない。

成功事例の中で、私は

print("Successfully logged in") 
self.performSegue(withIdentifier: "login_success", sender: self) 

を使用していますprint文を実行しますが、セグエはトリガされません。セグエのストーリーボードクリックで

+1

コードまたはUIを表示することができます –

+0

ログイン・シーンとダッシュボード・シーンの間に、ストーリーボードの識別子「login_success」があることを確認してください。 – jonaszmclaren

+0

あなたは正しい識別子segueをlogin_success で実装していない可能性があります。また、メソッドのシグネチャも良くないので、self.performSegue(withIdentifier: "login_success"、送信者:)にする必要があります。 あなたのストーリーボードの実装 –

答えて

2

を追加します。多くのネットワーク操作はバックグラウンドキューで実行され、そのバックグラウンドキューに完了ハンドラブロックがディスパッチされます。

UI更新のメインキューを使用しないという古典的な症状は、更新の遅延または不足です。

あなたは明示的にメインキューにコードを派遣する

DispatchQueue.main.async { 
    self.performSegue(withIdentifier: "login_success", sender: self) 
} 

を使用することができます。

0

、および右上隅にUIに影響を与えるすべての操作がメインキュー上で実行されなければならない識別子

login_success 

enter image description here

+0

はい。それはそこにあります。 –

関連する問題