2015-11-26 22 views
0

我使用:为什么不分析重置PFuser上注销?

} 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") 
      } 
     }) 
    } 
} 
+0

你可以显示他们按下登录按钮时执行的代码吗? – Paulw11

+0

@ Paulw11我为它添加了代码。检查出来 –

+0

那么,您的用户名和密码的文本字段为空?为什么在闭包外部创建一个PFUser,然后在闭包内检查它是否为零?那是错的。在关闭时,你应该首先检查非零的错误。如果错误为零,则检查PFUser.currentUser是否为非零。你并不需要在所有 – Paulw11

回答

0

我想出了这个问题,对于其他人想知道的。我正在做注销和登录之间的storyboard segue。

我应该一直在使用:

@IBAction func logOut(sender: AnyObject) { 

    PFUser.logOut() 
let currentUser = PFUser.currentUser() 
    self.dismissViewControllerAnimated(true, completion: nil) 
} 

这是执行注销的正确方法。不是从上面提到的

segue.identifier == "....." 
相关问题