prepareForSegue 未打开 ViewController

prepareForSegue not opening ViewController

我目前有这个代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
    print("Being called: PrepareForSegue")

    if(segue.identifier == "FBLoggedInSegue"){
        print("Identifier: FBLoggedInSegue")
        let nextVC = (segue.destinationViewController as? FBFriendsController)!
        nextVC.accessToken = FBSDKAccessToken.currentAccessToken()
        print("Niks gebeurd")
    }
}

控制台实际上显示了我的 if 语句中的所有打印语句。不幸的是,prepareForSegue 不会打开 FBFriendsController.

这是我在 viewDidLoad() 函数中 运行 的代码。

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view.
    if (FBSDKAccessToken.currentAccessToken() != nil) {
        self.performSegueWithIdentifier("FBLoggedInSegue", sender: self)
    }
}

确保您 100% 确定 segue.identifier:修改 print("Identifier: FBLoggedInSegue") 以显示实际标识符,否则您就是在假设。

您是否已将要转接的视图的 ID 设置为 或 Interface Builder 中的实际转接行?

希望对您有所帮助:)

编辑: 这样做:
let vc : YourViewController storyboard.instantiateViewControllerWithIdentifier("FBLoggedInSegue") as YourViewController vc.accessToken = FBSDKAccessToken.currentAccessToken() self.presentViewController(vc, animated: true, completion:nil)

问题似乎是因为未分配视图控制器:)