iOS - я делаю глупую ошибку if? Я думаю, что я теряю сюжет - PullRequest
0 голосов
/ 03 января 2012

Я пытаюсь программно запустить переход в моем коде после проверки правильности имени пользователя и пароля (только имя пользователя на данный момент из-за отладки).Segue срабатывает нормально, когда находится вне оператора, и отладчик говорит, что имя пользователя - «test», что и ищет условие, однако sege не запускается.

- (IBAction)loginButton:(id)sender {


NSString *username = usernameField.text;
NSString *password = passwordField.text;

if(username == @"test")
{
    [self performSegueWithIdentifier:@"loginSegue" sender:sender];
}
else{
    NSLog(@"NOT PERFORMING SEGUE! USERNAME: %@ -- PASSWORD: %@", username, password);
}


}

Ответы [ 2 ]

5 голосов
/ 03 января 2012

вы хотите [username isEqualToString:@"test"]

в противном случае вы просто проверяете значения указателя строки.

1 голос
/ 03 января 2012

Сравнение строк выполняется

[username isEqualToString@"test"];

Вы только что сравнили значение указателя строковой переменной username со значением постоянного указателя на @ "test", что, конечно, никогда не равно.

...