gpt4 book ai didi

ios - Facebook LoginManager 回调/PrepareforSegue Swift

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

我正在尝试使用prepareforSegue 将属性传递给我的下一个VC。它被调用,但是我的其他 VC 不加载。

原创

@IBAction func onSignupPressed(sender: AnyObject) {
FBSDKLoginManager().logInWithReadPermissions(permissions,
fromViewController: self) { result, error in
guard error == nil else { print("Login Error"); return }
guard result.grantedPermissions.contains("email") else {
print("No Email Permissions"); return }
self.getFBUserData()
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("loginSegue", sender: self)
}
}
}

我已经能够通过调用下面的 doLogin 函数来显示下一个 VC。在那里,我从 Storyboard 中实例化一个 VC 并呈现它。我相信这是由于 Facebook 登录窗口弹出和关闭的时间造成的。我搜索了委托(delegate)方法,但没有找到任何内容

@IBAction func onSignupPressed(sender: AnyObject) {
FBSDKLoginManager().logInWithReadPermissions(permissions,
fromViewController: self) { result, error in
guard error == nil else { print("Login Error"); return }
guard result.grantedPermissions.contains("email") else {
print("No Email Permissions"); return }
self.getFBUserData()
dispatch_async(dispatch_get_main_queue()) {
self.performSegueWithIdentifier("loginSegue", sender: self)
}
}
}

func getFBUserData(){

let params = "id, name, first_name, last_name, picture.type(large),friends, email, birthday, work, photos, education, location, hometown, religion, likes, about"

if((FBSDKAccessToken.currentAccessToken()) != nil){
FBSDKGraphRequest(graphPath: "me", parameters: ["fields":params]).startWithCompletionHandler({ (connection, result, error) -> Void in

if (error == nil){
//everything works print the user data
print(result)
let resultdict = result as? NSDictionary
self.user = Mapper<User>().map(result)
self.doLogin()
}

})

}

}


func doLogin() {
let successVC = self.storyboard?.instantiateViewControllerWithIdentifier("LoginSucessViewController")
self.presentViewController(successVC!, animated: true, completion: nil)
}

最佳答案

非常愚蠢的错误!没有意识到我可以简单地设置实例化 VC 的属性!

func doLogin() {

let successVC = self.storyboard?.instantiateViewControllerWithIdentifier("LoginSucessViewController") as! LoginSucessViewController
successVC.currentUser = user
self.presentViewController(successVC, animated: true, completion: nil)
}

关于ios - Facebook LoginManager 回调/PrepareforSegue Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35949034/

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