Кнопки, последовательности и операторы If/Else

У меня есть кнопка, которая при нажатии будет определять, равен ли введенный текст строке. Если это так, то он перейдет к следующему виду. Если это неверно, он изменит текст метки на сообщение об ошибке. Это не работает. Может ли кто-нибудь покритиковать и сообщить мне, что я делаю неправильно? Вот мой код: - (IBAction)submitButton:(UIButton *)sender {

if ([_pinTextField.text isEqualToString:@"1234"]) {
    _errorLabel.text = @"PIN Accepted";
    sleep(1);
    [self performSegueWithIdentifier:@"ShowDetail" sender:self];
}

else _errorLabel.text = @"Incorrect PIN";

}

Переход происходит, если утверждение if else истинно. Как это исправить?


person Charles Vincent    schedule 04.10.2012    source источник
comment
Что значит Не работает?   -  person hmakholm left over Monica    schedule 04.10.2012
comment
Переход происходит независимо от того, верно ли утверждение if else или нет. Как это исправить?   -  person Charles Vincent    schedule 04.10.2012
comment
Это выглядит нормально (кроме использования sleep() в основном потоке, что не очень хорошо), так что, возможно, вы что-то неправильно подключили.   -  person Greg Price    schedule 04.10.2012
comment
аналогичный вопрос stackoverflow.com/questions/9884619/   -  person Alexey    schedule 04.10.2012
comment
Я убрал сон. Не уверен, почему я положил это туда.   -  person Charles Vincent    schedule 04.10.2012


Ответы (1)


Если отладчик показывает, что он не выполняет...

[self performSegueWithIdentifier:@"ShowDetail" sender:self];

...строка, то это, вероятно, проблема с началом перехода, как определено в раскадровке. (Если вы хотите запустить его в коде, он должен начинаться с контроллера представления, а не с кнопки.)

(Если эта строка действительно выполняется, значит, что-то не так с тестом isEqualToString:... но это маловероятно.)

person Phillip Mills    schedule 04.10.2012
comment
Как просмотреть отладчик? Глупый вопрос, но он ничего не показывает в области «Все выходные данные». - person Charles Vincent; 04.10.2012
comment
Кроме того, переход был вызван кнопкой «Отправить». Как мне закодировать его, чтобы начать с контроллера представления? - person Charles Vincent; 04.10.2012
comment
Неважно, я разобрался. Мне пришлось создать переход от контроллера к контроллеру, чтобы он работал! Спасибо всем за вашу помощь. - person Charles Vincent; 04.10.2012