嘿,下面的代码不知何故不适用于segue。它返回:
警告:尝试呈现不在窗口层次结构中的视图!
代码在 IBAction Button 中运行。然后我在没有 PFFacebookUtils 代码的情况下执行 segue,它工作正常。从那我猜不能从 PFFacebookUtils 调用 segue,因为它在后台以某种方式工作。
代码:
PFFacebookUtils.logInInBackground(withReadPermissions: permissions) {
(user: PFUser?, error: Error?) -> Void in
if let user = user {
if user.isNew {
print("User signed up and logged in through Facebook!")
self.performSegue(withIdentifier: "segueSignUpWindow", sender: nil)
} else {
print("User logged in through Facebook!")
self.performSegue(withIdentifier: "segueSignUpWindow", sender: self)
} else {
print("Uh oh. The user cancelled the Facebook login.")
self.loginCancelledLabel.alpha = 1
}
}
我试图插入额外的代码,如:
DispatchQueue.main.async {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "SignUp")
self.show(vc, sender: self)
print("Hello")
或具有功能:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "segueSignUpWindow") {
DispatchQueue.main.async {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewController(withIdentifier: "SignUp")
self.show(vc, sender: self)
print("Hello")
}
}
没有任何效果。有没有人有一个可行的解决方案?我的目标是在登录或登录后继续到另一个故事板。
我查看了stackoverflow中的大多数线程。没有找到有效的解决方案。