gpt4 book ai didi

Swift 在 googleSignin 后执行 segue

转载 作者:行者123 更新时间:2023-11-30 13:13:31 24 4
gpt4 key购买 nike

我试图在 GoogleSignindelegate 之后调用一个 API,它将检查现有用户,如果没有,它将打开一个表单进行注册。这是我所做的“

我定义了一个从当前 Controller 到目标 Controller 的push segue,并命名为login2,之后如果用户单击google登录按钮,我们将检查它在我们的数据库中是否存在:

func getGoogleData(let  uId:AnyObject, let emailId:AnyObject, let name:AnyObject){
accountType = "GOOGLE"
accountId = uId as! String
self.emailId = emailId as! String
self.name = name as! String
print(accountId)
print(accountType)
self.appData.setValue(self.accountId, forKey: "uId")
self.appData.setValue(self.accountType, forKey: "uAccountType")
self.appData.synchronize()
self.checkAlreadyExist()
}

异步之后我们调用 uiRefresh 方法去目标转场:

func do_ui_refresh(){
dispatch_async(dispatch_get_main_queue(), {
if(self.appData.stringForKey("userId") == nil){
self.performSegueWithIdentifier("login2", sender: self)
}
else{
self.performSegueWithIdentifier("loginAlready", sender: self)
}
return
})
}

但是每次我运行应用程序时,它都显示没有 Receiver () 没有带有标识符“login2”的 segue

但是我定义了一个segue,我可以在检查器中清楚地看到它。

Segue Image

感谢任何帮助。

最佳答案

好的经过一些研发后,我发现实现存在问题。我们无法在 AppDelegate 中执行 segue 操作,因为尚未加载任何 View ,因此如果我们想从 AppDelegate 打开 View 我们必须定义 View Controller id,然后我们必须使用以下代码:

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let rootVC = storyboard.instantiateViewControllerWithIdentifier("ViewControllerID") as! UIViewController
self.window!.rootViewController = rootVC

我们也可以在Opening中实现这个东西,通过它我们可以执行segue操作。

关于Swift 在 googleSignin 后执行 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38481769/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com