私は、ユーザの認証を担当するビューコントローラにセグを持っています。使用がサインインされると、親ビューコントローラに戻る必要があります。 thisガイドの後に、認証ビューコントローラからその出口にセグを作成しました。コードで呼び出そうとすると、何も起こりません。終了するためにセグを実行できません
はここに私のコードです:
import UIKit
import Firebase
import FirebaseAuth
import GoogleSignIn
class AuthVC: UIViewController, GIDSignInUIDelegate {
@IBAction func unwindAuth(sender: UIStoryboardSegue) {
print("'unwindAuth' called")
}
override func viewDidLoad() {
super.viewDidLoad()
GIDSignIn.sharedInstance().uiDelegate = self
FIRAuth.auth()?.addStateDidChangeListener() { (auth, user) in
if FIRAuth.auth()?.currentUser != nil {
print(self.shouldPerformSegue(withIdentifier: "unwindSegue", sender: nil))
self.performSegue(withIdentifier: "unwindAuthSegue", sender: nil)
}
}
}
}
ボタンで記号をクリックした後、私はself.shouldPerformSegue
からコンソールにtrue
を得るが、何もない(エラーと何も起こりません)。
私はXcode Version 8.3 beta(8W109m)を使用しています。
私はこの問題に対する解決策を数日間探しています。
免責事項:私はXcodeを初めて使用していますが、私はほぼ10年間プログラミングしています。私は正式なトレーニングはありません。
あなたは非常に密接にそれを読んでいない:」..youは、ビューコントローラにアンワインドアクションの名前を指定しますセグーを巻き戻したい "。あなたは巻き戻しているビューコントローラに配置しました。 – Gruntcakes
答えをありがとう。それを逆にする方法はありますか?私は最初のコントローラからのサインインを聞くことができますが、それが認証ビューコントローラからのものであることを知るために、何らかの種類の状態変数を設定する必要があります。それはベストプラクティスのようには見えません。また、なぜ何もせずにエラーになったのはなぜですか? – Fallenalien22
2番目のビューコントローラーから1番目のビューコントローラーにデータを戻したいような音がしますか?あなたが周りを見回す場合、それを行う方法に関する多くの過去の質問があります。 – Gruntcakes