【问题标题】:Parse sign out function解析登出功能
【发布时间】:2015-07-05 01:51:14
【问题描述】:

我正在尝试一个简单的退出功能,在用户退出后视图返回到我的登录/注册视图。这两种方法我都试过了,但是每次应用都会崩溃。

第一种方法:

@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

【问题讨论】:

  • 那么错误信息是什么?您的信息不足以让我们为您提供帮助。
  • 这根本没有帮助,控制台上打印了什么?
  • 不,控制台上什么都没有,原来该方法调用的是视图控制器故事板标识,而不是视图本身的名称。目标视图标识为空白

标签: ios swift parse-platform


【解决方案1】:

假设您已将根 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:")

【讨论】:

  • 现在按钮根本不起作用,就像一个没有插座的按钮
  • 确保您的插座都连接在按钮的插座选项卡中,并确保在您的代码中 UIButton 操作旁边有一个实心灰点,因为您可能需要重新连接它。我没有理由认为此功能不起作用,因此请查看您的 Action Outlets。
  • 这一切我似乎无法弄清楚问题
  • 但我的退出按钮位于视图的特定位置,而不是导航栏
  • 确保您的按钮是通过 IBAction 而不是 IBOutlet 连接的,并且在 Action 或 Outlet 调用旁边有一个实心灰点。我在上面的评论中不是在谈论 NavBar。
猜你喜欢
  • 1970-01-01
  • 2022-08-23
  • 2011-12-29
  • 2020-11-27
  • 2018-04-05
  • 2015-11-21
  • 2013-07-06
  • 2018-03-30
  • 1970-01-01
相关资源
最近更新 更多