调用 PFUser.logOut() 解析后,当前用户不为零,swift2

问题描述 投票:0回答:3

我想构建一个带有解析的简单注销按钮,但当前用户没有得到 nil。

PFUser.logOut()
var currentUser = PFUser.currentUser() // this should be nil but it isn't :(
print(currentUser)

我也尝试过:

PFUser.logOutInBackground()
var currentUser = PFUser.currentUser() // this is also not nil :(

因此,当我打印 currentUser 时,它并不像应有的那样为零。是:

Optional(<PFUser: 0x7f8d99dd2320 , objectId: new, localId: local_58d62becf7a6f1dc> {

})

所以我认为该应用程序正在创建一个新用户?!

ios swift parse-platform swift2 pfuser
3个回答
5
投票

尝试在 AppDelegate.swift 文件中注释掉以下代码行 -

PFUser.enableAutomaticUser()

enableAutomaticUser()
拨打
PFUser.logOut()
后,将会以匿名用户身份登录,匿名用户的用户名是
nil


0
投票

didFinishLaunchingWithOptions
方法中检查 AppDelegate 中是否有 currentUser

   let user = PFUser.currentUser()
      if user == nil
       {
           // present loginViewController
       }
      else
        {
           print("user is \(user?.username)")  // <--- who is currently 
          // show any viewcontroller 
        }

退出应用程序后,您的注销按钮应将用户发送回loginViewController。 示例:

        @IBAction func Logout(sender:UIButton)
         {
            PFUser.Logout()
            let LoginViewController = storyboard.instantiateViewControllerWithIdentifier("storyBoardID") 
            self.presentViewController(LoginViewController, animated: true, completion: nil)
         }

因此,从登录视图控制器中,他们可以使用其凭据重新登录到您的应用程序,然后 currentUser 将不会返回 nil


0
投票

将函数(注销)的返回类型设置为可选类型。只有 options 具有保持 nil 值的能力。 这是我想告诉你的例子

func loggedOut() -> Int? {

    // check you conditions here ex:
  if score > 0 {
  return score 
  } else {
 return nil
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.