- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试实现 Google 登录 及其与登录过程的配合,但在我的应用程序委托(delegate)文件中,我有 didSignInFor
函数,成功登录后在内部关闭,我发送用户从 loginVC
到 feedVc
。
然后它转到那一行并打印下一行中的内容但不执行 Segue。
这是代码:
func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
print("Successfully logged into google", user)
guard let idToken = user.authentication.idToken else {return}
guard let accessToken = user.authentication.accessToken else {return}
let credential = GoogleAuthProvider.credential(withIDToken: idToken, accessToken: accessToken)
Auth.auth().signIn(with: credential) { (user, error) in
if error != nil{
print("ANKIT : Unable to authenticate with firebase")
} else{
guard let uid = user?.uid else { return }
KeychainWrapper.standard.set(uid, forKey: KEY_UID)
self.window?.rootViewController?.performSegue(withIdentifier: "goToFeed", sender: nil)
print("ANKIT : Successfully authenticated with firebase for google")
}
}
}
谁能帮我解决这个错误?
无法弄清楚为什么 segue 不起作用..或者如果有人遇到这个问题并且他们弄清楚了请分享解决方案。任何帮助将不胜感激。
最佳答案
From the AppDelegate class you can not
perform segue
. So this line will never work from yourAppDelegate
class.
self.window?.rootViewController?.performSegue(withIdentifier: "goToFeed", sender: nil)
你需要简单
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let scheduleController = storyboard.instantiateViewController(withIdentifier: "yourIdentiFier")
self.window!.rootViewController = scheduleController
self.window!.makeKeyAndVisible()
您可以从 Main.storyboard 向您的 Controller 提供标识符,请按照以下步骤操作。
打开主 Storyboard
关于ios - 来自appDelegate performSegue的Swift 3在谷歌登录后无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520673/
您好,我有一个按钮,点击时必须显示模态视图 Controller 这是 Action : - (IBAction)addNewLevelAction:(id)sender { [self pe
如您所见,我正在尝试performSegue 从 Photo Action View Controller 到 Setting View Controller (UITableViewControll
我刚接触 iOS 和 Objective-C。我正在学习如何使用 Segue,尤其是 Unwind Segue。 在阅读时,我对“shouldPerformSegueForIdentifier”和“p
我有一个 bar button item 可以转到下一个 view controller。我在 bar button item 上实现了 show segue,它第一次有 2 秒的延迟之后就正常了。
我有一个按钮对象,它运行一个用于计算的后台线程和一个用于 UI 更新的主线程。全部完成后,我想使用 performSegue(withIdentifier: "thirdViewController"
尝试在 StoryBoard 中调用 performSegue 时,我遇到了奇怪的崩溃。我已经配置了 View Controller segueID,它是基于 UINavigation 层次结构的 v
调用 performSegue 是否应该停止进一步的代码执行并将执行传递给目标? 我有这个简单的电话: performSegue(withIdentifier:“showTweets”,发件人:自己)
为什么 Xcode 告诉我 performSegue(withIdentifier:) 是一个未解析的标识符? (请参阅注释掉的行) import UIKit class AllListsViewCo
我的意图是仅在所有文本字段都已填充时运行 performSegue。如果不是,则该按钮不应工作 - 确切地说,不应执行 performSegue。 我的方法是将 performSegue 放在 if
长话短说,我的 segue 无法执行到我已经创建的下一个 Controller 。很多帮助将不胜感激。 override func viewDidLoad() { super.
此代码应该点击一个按钮,执行一个 segue,并将加密的数据传递给第二个 View Controller 的名为 passedData 的变量。这是按钮操作的代码: @IBAction func en
我想在动画完成时从我正在加载的 viewController 执行一个 segue 到下一个 viewController: override func viewDidAppear(animated:
我可以在 alamofire 验证处理程序之外调用我的 performSegue。但我想在 alamofire 请求成功后继续 这是我的代码 Alamofire.request("link", met
我一直在寻找这个问题的答案,但还没有找到任何答案。我有一个看起来像这样的方法 dispatch_async(dispatch_get_main_queue()) { self.performS
self?.performSegue(withIdentifier: "myview", sender: nil) 即使我在 Storyboard 中使用推送,以上代码也不会显示导航栏。下面的代码向我
对 Swift 编程和一般的移动开发还很陌生。我正在尝试使用 performSegue() 并在没有 if-else 语句的情况下控制它。我在谷歌上搜索了如何使用 override func shou
对 Swift 编程和一般的移动开发还很陌生。我正在尝试使用 performSegue() 并在没有 if-else 语句的情况下控制它。我在谷歌上搜索了如何使用 override func shou
在我的非根 VC 类中,我有以下 doLogout 方法: - (void)doLogout { SDPAppDelegate *app = [self getAppDelegate];
我是 Swift 的初学者,我对我的事件指示器有疑问。我一直在使用 NVActivityIndicatorView,直到现在我才遇到任何问题。我有一个 LoginViewController,一旦
我正在尝试执行一个 segue,将多个变量传递到下一个 View ,包括一个变量 currentID,它是从解析数据库中检索到的。在将 currentID 设置为从数据库下载的 currentID 之
我是一名优秀的程序员,十分优秀!