2015-07-05 74 views
0

我正在尝试一种简单的注销功能,其中视图在用户注销后返回到我的登录/注册视图。我曾尝试使用这两种方法,但每次应用程序崩溃。解析注销功能

第一种方法:

@IBAction func signPressed(sender: AnyObject) { 

    PFUser.logOut() 

    let storyboard = UIStoryboard(name: "Main", bundle: nil) 
    let vc = storyboard.instantiateViewControllerWithIdentifier("ViewController") as! UIViewController 
    presentViewController(vc, animated: true, completion: nil) 
} 

第二种方法:

我创建了以下功能:

func loginSetup() { 

     if (PFUser.currentUser() == nil) { 

      let vc = ViewController() 
      self.presentViewController(vc, animated: true, completion: nil) 

      } 
} 

然后将其添加到我的登出功能:

@IBAction func signPressed(sender: AnyObject) { 

    PFUser.logOut() 

    self.loginSetup() 
} 

都崩溃了,给了我一个应用程序委托错误..这里的问题是什么?

这里是给出错误的截图:

https://40.media.tumblr.com/1f044ecbdd5059836b0a360d16af9846/tumblr_nqzsobll0o1tupbydo1_1280.png

+0

有什么错误信息呢?您的信息不足以帮助我们。 –

+0

这完全没有帮助,控制台上是否印有任何内容? –

+0

不,控制台上没有任何东西,事实证明该方法是调用视图控制器storyboard标识,而不是视图本身的名称。目标视图标识为空 –

回答

0

提供您所设置的根VC到登录/注册画面。

func didTapSignOut(sender: AnyObject) 
{ 
    PFUser.logOut() 

    self.navigationController?.popToRootViewControllerAnimated(true) 
} 

然后,你可以调用一个UIButton IBAction为这个功能,但我把它放在我的UINavigationBar的像这样,

 self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Sign Out", style: .Plain, target: self, action: "didTapSignOut:") 
+0

现在该按钮根本没有任何功能,就像没有插座的按钮一样 –

+0

确保您的插座全部连接在按钮的插座选项卡中,并确保在您的代码中有一个固定的灰色圆点旁边UIButton操作,因为您可能需要重新连接它。没有理由我可以想到这个功能不起作用,所以请检查你的请动手奥特莱斯。 – Jack

+0

其全部在那里,我似乎无法找出问题 –