在viewDidAppear之外的performSegueWithIdentifier不起作用

时间:2015-11-24 05:45:03

标签: ios xcode swift segue

我确信这是一个初学者的问题,但如果我的应用程序的用户登录到Facebook,或者如果他们在初始屏幕中进行操作,我会尝试执行Segue。在viewDidAppear函数中,我测试它们是否已经登录,如果它们是,则segue工作正常。但在我的其他功能中,绝对没有(甚至不是错误)。

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)
    if (PFUser.currentUser() == nil) {
        //...//
    } else {
        print("User already logged in")
        self.performSegueWithIdentifier("mainMenuSegue", sender: self) // This one is Working
    }}

func logInViewController(logInController: PFLogInViewController, didLogInUser user: PFUser) -> Void {
    print("We just logged you in!")
    if PFUser.currentUser()!["First_Name"] == nil {
        returnUserData() } else {
        print(NSThread.isMainThread()) //Returning True
        self.performSegueWithIdentifier("mainMenuSegue", sender: self)// This one is NOT Working
    }
    }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

在iOS 6及更高版本中可能:您必须在控制器中实现该方法并返回true或false

如果你返回false segue将无法转到目的地。

- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender 

in swift

override func shouldPerformSegueWithIdentifier(identifier: String!, sender: AnyObject!) -> Bool {
   //todo
}