2016-12-28 99 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