Мой UIAlertView не отображается в конструкции if / else - PullRequest
0 голосов
/ 26 сентября 2011

Я хочу убедиться, что пользователь вводит некоторые данные в текстовое поле, прежде чем в моем приложении появится всплывающее окно. Вот мой код:

    if (nameField.text == NULL || lastNameField.text == NULL) {                                  
    UIAlertView *alertView= [[UIAlertView alloc] initWithTitle:@"Error" message:@"No 
    patient data         specified, please specify name!" delegate:self 
    cancelButtonTitle:@"Okay" otherButtonTitles:nil];
    [alertView show];
        [alertView release];

Проблема в том, что оператор else вызывается каждый раз, даже когда я сознательно оставляю textField пустым.

Предложения?

Я также попытался перевернуть его, добавив в выражение if часть else, изменив требования на != NULL, но это тоже не сработало

1 Ответ

0 голосов
/ 28 ноября 2011

Ваша проблема в проверке NULL. Текстовое поле никогда не будет NULL. NULL означает, что его не существует. TextField определенно существует, но на самом деле вы хотите проверить, есть ли текст в поле. Способ сделать это - nameField.length > 0. Итак, ваш код должен быть:

if (nameField.length == 0 || lastNameField.length == 0) {                                  
    UIAlertView *alertView= [[UIAlertView alloc] initWithTitle:@"Error" message:@"No patient data specified, please specify name!" delegate:self 
    cancelButtonTitle:@"Okay" otherButtonTitles:nil];
    [alertView show];
    [alertView release];
...