사용자를 인증하는 담당 뷰 컨트롤러에 segue가 있습니다. 사용이 로그인되어 있으면 부모보기 컨트롤러로 돌아가고 싶습니다. this 가이드 다음에 인증보기 컨트롤러에서 출구로 나가는 segue를 만들었습니다. 코드에서 호출하려고하면 아무 일도 일어나지 않습니다.끝내려면 segue를 수행 할 수 없습니다
여기 내 코드입니다 :
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 버전 8.3 베타 (8W109m)를 사용하고 있습니다.
나는이 문제에 대한 해결책을 며칠 동안 찾고 있었다.
면책 조항 : Xcode를 처음 접했지만 거의 10 년 동안 프로그래밍을 해왔습니다. 나는 공식적인 훈련이 없다.
당신은 매우 밀접하게 읽을하지 않았다 "..you 뷰 컨트롤러에 언 와인드 액션의 이름을 지정하면 segue가 긴장을 풀기를 원합니다. " 풀어 놓고있는 뷰 컨트롤러에 놓았습니다. – Gruntcakes
답해 주셔서 감사합니다. 다른 방법으로 할 수 있습니까? 첫 번째 컨트롤러에서 로그인을 수신 할 수 있지만 인증보기 컨트롤러에서 온 것임을 알기 위해 어떤 종류의 상태 변수를 설정해야합니다. 그것은 모범 사례처럼 보이지 않습니다. 또한, 왜 아무것도 아닌 오류가 발생 했습니까? – Fallenalien22
두 번째보기 컨트롤러에서 첫 번째보기 컨트롤러로 데이터를 다시 전달하려는 것 같습니다. 주위를 둘러 보면 그렇게하는 방법에 대해 많은 과거의 질문이 있습니다. – Gruntcakes