2016-12-28 4 views
0

У меня есть приложение, которое позволяет пользователю сбрасывать свой пароль, помещая свой старый в текстовое поле и свой новый в следующее текстовое поле. Но в текстовом поле старого пароля введенный пароль должен соответствовать тому, который зарегистрирован для текущего пользователя. Мое приложение продолжает рушиться. Кто-нибудь может мне помочь. Вот код. Изображение ошибки здесь.Password Change Parse 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{ 

} 

Edit: - Там нет никакого способа, чтобы получить старый пароль от разбора. Обходной путь, хотя есть .. вы можете сначала попробовать аутентифицировать пользователя, указав пароль, который пользователь ввел. Если аутентификация прошла успешно, то это означает, что введенный старый пароль правильный .. был 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() кажется нулевым. Попробуйте распечатать их. Если пароль равен NULL, проверьте правильность подключения розетки. – Naren

+0

он работает, если я пытаюсь сравнить password.text с объектом, отличным от пароля. – user7222919