Ios 为什么';是否在注销时重置PFuser?
我正在使用:Ios 为什么';是否在注销时重置PFuser?,ios,swift,parse-platform,login,Ios,Swift,Parse Platform,Login,我正在使用: } else if segue.identifier == "logout" { var currentUser = PFUser.currentUser() PFUser.logOut() } 单击“注销”按钮后,它会再次进入登录屏幕,但是如果单击“登录”按钮,它会将该用户重新登录,而无需再次输入任何凭据 为什么在注销时没有将用户重置为零 @IBAction func logIn(sender: AnyObject) { if username.te
} 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")
}
})
}
}
我解决了这个问题,任何人都想知道。我在注销和登录之间做了一个情节提要 我应该使用:
@IBAction func logOut(sender: AnyObject) {
PFUser.logOut()
let currentUser = PFUser.currentUser()
self.dismissViewControllerAnimated(true, completion: nil)
}
这是执行注销的正确方法。不是从上面提到的
segue.identifier == "....."
你能显示他们按下登录按钮时执行的代码吗?@Paulw11我为它添加了代码。检查您的用户名和密码文本字段是否为空?为什么在闭包外部创建PFUser,然后在闭包内部检查它是否为非nil?这是错误的。在闭包中,您应该首先检查错误是否为非nil。如果错误为零,则检查PFUser.currentUser是否为非零。您根本不需要
user
变量注销后“currentUser”未设置为null的原因是因为在设置变量“currentUser”的值后调用了“PFUser.logOut()”。在声明变量之前,请尝试调用“PFUser.logOut()”。@Dridia如果不起作用,请尝试。