我正在使用:
} 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")
}
})
}
}
最佳答案
我为其他想知道的人解决了这个问题。我正在注销和登录之间做一个 Storyboard 。
我应该使用:
@IBAction func logOut(sender: AnyObject) {
PFUser.logOut()
let currentUser = PFUser.currentUser()
self.dismissViewControllerAnimated(true, completion: nil)
}
这是执行注销的正确方法。不是来自上面提到的
segue.identifier == "....."
关于ios - 为什么注销时不解析重置 PFuser?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33945641/