Ios 无法执行segue以退出
我有一个到视图控制器的序列,该控制器负责验证用户。登录使用后,我想返回到父视图控制器。根据指南,我创建了一个从auth-view控制器到其出口的序列。当我试着用代码调用它时,我什么也没发生 这是我的密码:Ios 无法执行segue以退出,ios,iphone,swift,xcode,Ios,Iphone,Swift,Xcode,我有一个到视图控制器的序列,该控制器负责验证用户。登录使用后,我想返回到父视图控制器。根据指南,我创建了一个从auth-view控制器到其出口的序列。当我试着用代码调用它时,我什么也没发生 这是我的密码: import UIKit import Firebase import FirebaseAuth import GoogleSignIn class AuthVC: UIViewController, GIDSignInUIDelegate { @IBAction func un
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年了。不过,我没有接受过正式培训。展开顺序动作必须放在要返回的视图控制器上,而不是放在要离开的视图控制器上 如果希望将数据传回,则可以使用委托
必须将“展开分段”操作放在要分段返回的视图控制器上,而不是放在要离开的视图控制器上 如果希望将数据传回,则可以使用委托
您没有仔细阅读它:“…您在视图控制器中指定了一个展开操作的名称,您希望该段展开”。您已将其放入要从中展开的视图控制器中。谢谢您的回答。有没有其他方法可以做到这一点?我可以从第一个控制器监听signin,但要知道它是从auth view控制器发出的,我必须设置某种状态变量。这似乎不是最佳实践。还有,为什么我没有得到一个错误而不是什么都没有?听起来你想把数据从第二视图控制器传回第一视图控制器?如果你环顾四周,过去有很多关于如何做到这一点的问题。好的,谢谢。创建一个答案,我将选择它。您没有仔细阅读它:“…您在视图控制器中指定了一个展开操作的名称,您希望该序列展开到该视图控制器”。您已将其放入要从中展开的视图控制器中。谢谢您的回答。有没有其他方法可以做到这一点?我可以从第一个控制器监听signin,但要知道它是从auth view控制器发出的,我必须设置某种状态变量。这似乎不是最佳实践。还有,为什么我没有得到一个错误而不是什么都没有?听起来你想把数据从第二视图控制器传回第一视图控制器?如果你环顾四周,过去有很多关于如何做到这一点的问题。好的,谢谢。创建一个答案,我会选择它。非常感谢。现在可以了。我所要做的就是将
@IBAction func
放在父视图控制器中。self.performsgue
必须进入子视图控制器,因为segue属于该类,所以我甚至不需要该链接。非常感谢。现在可以了。我所要做的就是将@IBAction func
放在父视图控制器中。self.performsgue
必须进入子视图控制器,因为segue属于该类,所以我甚至不需要该链接。