为啥不解析在注销时重置 PFuser?
Posted
技术标签:
【中文标题】为啥不解析在注销时重置 PFuser?【英文标题】:Why doesn't parse reset the PFuser on logout?为什么不解析在注销时重置 PFuser? 【发布时间】:2015-11-26 19:15:47 【问题描述】:我正在使用:
else if segue.identifier == "logout"
var currentUser = PFUser.currentUser()
PFUser.logOut()
单击注销按钮后,它会再次进入登录屏幕,但是如果我单击登录按钮,它会重新登录该用户,而无需再次输入任何凭据。
为什么没有在注销时将用户重置为零?
@IBAction func logIn(sender: AnyObject)
if username.text == "" || password.text == ""
displayNewAlert("Field(s) Empty", message: "Please Enter a Username and Password")
else
activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50))
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
view.addSubview(activityIndicator)
activityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
let user = PFUser()
user.username = username.text
user.password = password.text
var errorMessage = "Please Try Again Later"
PFUser.logInWithUsernameInBackground(username.text!, password: password.text!, block: (user, error) -> Void in
self.activityIndicator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()
if user != nil
self.performSegueWithIdentifier("login", sender: self)
else
if let errorString = error!.userInfo["error"] as? String
errorMessage = errorString
self.displayNewAlert("Failed Log In", message: "Please enter a valid username and password")
)
【问题讨论】:
你能显示他们按下登录按钮时执行的代码吗? @Paulw11 我为它添加了代码。看看 那么您的用户名和密码文本字段是空的吗?为什么要在闭包外创建一个 PFUser ,然后在闭包内检查它是否为非零?那是错的。在闭包中,您应该首先检查非零的错误。如果 error 为 nil,则检查 PFUser.currentUser 是否为非 nil。你根本不需要user
变量
logOut 后 'currentUser' 未设置为 null 的原因是,在设置变量 'currentUser' 的值后调用了 'PFUser.logOut()'。在声明变量之前尝试调用“PFUser.logOut()”。
@Dridia 没用,试过了。
【参考方案1】:
我想出了问题,其他人想知道。我正在注销和登录之间进行故事板segue。
我应该一直在使用:
@IBAction func logOut(sender: AnyObject)
PFUser.logOut()
let currentUser = PFUser.currentUser()
self.dismissViewControllerAnimated(true, completion: nil)
这是执行注销的正确方法。不是从上面提到的
segue.identifier == "....."
【讨论】:
以上是关于为啥不解析在注销时重置 PFuser?的主要内容,如果未能解决你的问题,请参考以下文章