如何在alertView中访问textField?试图查看密码是否与当前用户匹配。解析/ SWIFT

时间:2015-11-30 19:05:03

标签: ios swift parse-platform uialertview logout

我试图在用户尝试单击logOut按钮时显示警告。然后,系统会要求用户重新输入密码以便注销。

这是我的代码。

     @IBAction func logOut(sender: AnyObject) {

        let alert = UIAlertController(title: "Are You Sure You Want To Log Out?", message: "Please Enter Your Password", preferredStyle: UIAlertControllerStyle.Alert)

        alert.addTextFieldWithConfigurationHandler { (textField) -> Void in
        }

    alert.addAction(UIAlertAction(title: "Log Out", style: UIAlertActionStyle.Default, handler: { (action) -> Void in
        let textF = alert.textFields![0] as UITextField

        if textF.text! != PFUser.currentUser()?.password {
            print("Cannot Log Out")

        } else if textF.text! == PFUser.currentUser()?.password! {
            PFUser.logOut()
            let currentUser = PFUser.currentUser()
            print(currentUser)
        }
    }))

    alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Default, handler: { (action) -> Void in
        if action == true {
        self.dismissViewControllerAnimated(false, completion: nil)
        }}))

self.presentViewController(alert, animated: true, completion: nil)

}

当我在alertView上单击取消时,它会关闭警报并且用户未注销。的完美!

如果我输入随机字母,我的调试器控制台会打印“无法注销”(稍后我会更改另一个警告视图说错误的密码)完美!

问题 即使我输入正确的密码,它也会说“无法注销”,这对我来说意味着我无法访问:

    PFUser.CurrentUser.password

有关修复此问题的任何意见? - 谢谢。

0 个答案:

没有答案