2016-12-28 109 views
0

我有一个应用程序,允许用户重置他们的密码,将旧的文本字段和他们的新文本字段中。但是在旧密码文本框中,他们输入的密码必须与注册到当前登录用户的密码相匹配。我的应用程序不断崩溃。有人能帮我吗。这是代码。错误的图像在这里。密码更改解析swift

ErrorImage

if Password.text == (PFUser.current()?.password)! { 

    }else{ 

} 
+0

检查PFUser.current()的值,很可能这是零,当您试图强制解开密码时导致崩溃。检查这个问题,它可能是相关的:http://stackoverflow.com/questions/31522140/parse-pfuser-currentuser-returns-nil-swift否则,添加更多的代码,包括你在哪里调用代码崩溃 – mlidal

+0

它如果我尝试将password.text与密码以外的objectforkey进行比较,则会起作用。 – user7222919

+0

喜欢这个作品 – user7222919

回答

0

尝试将文本添加后感叹: -

if Password.text! == (PFUser.current()?.password)! { 

    }else{ 

} 

编辑: - 有没有办法从解析得到原来的密码。解决方法虽然是..你可以先尝试通过给用户输入的密码来验证用户身份。如果验证成功,那么这意味着输入的旧密码是正确的..已经described here。虽然它是android代码,但它提供了所需的逻辑。

ParseUser.logInInBackground(ParseUser.getCurrentUser().getUsername(), currentPassword, new LogInCallback() { 
    public void done(ParseUser user, ParseException e) {  
     if (user != null) {  
      // Hooray! The password is correct 
     } else {  
      // The password was incorrect 
     } 
    } 
}); 
+0

不,它仍然崩溃 – user7222919

+0

您的密码或PFUser.current ()似乎是零。尝试打印这些。如果密码为空,请检查插座是否连接正确。 – Naren

+0

它工作,如果我尝试比较password.text与密码以外的objectforkey。 – user7222919