我有一个视图控制器,负责对用户进行身份验证。登录使用时,我想返回父视图控制器。在this指南之后,我已经从auth视图控制器创建了一个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)
}
}
}
}
点击登录按钮后,我在true
的控制台中获得self.shouldPerformSegue
,但没有其他内容(没有错误,也没有任何反应)。
我正在使用Xcode版本8.3 beta(8W109m)。
我一直在寻找解决方案几天。
免责声明:我是Xcode的新手,但我已经编程了将近10年。但是,我没有接受过正式培训。
答案 0 :(得分:3)
展开segue操作必须放在要切换回的视图控制器上,而不是放在要离开的视图控制器上。
如果您希望传回数据,则可以使用代理