无法执行segue退出

时间:2017-02-04 16:53:12

标签: ios iphone swift xcode

我有一个视图控制器,负责对用户进行身份验证。登录使用时,我想返回父视图控制器。在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年。但是,我没有接受过正式培训。

1 个答案:

答案 0 :(得分:3)

展开segue操作必须放在要切换回的视图控制器上,而不是放在要离开的视图控制器上。

如果您希望传回数据,则可以使用代理

Passing data back from view controllers Xcode