我的UIAlertView没有显示在if / else构造中

时间:2011-09-26 17:14:25

标签: logic uialertview if-statement

我想确保用户在我的应用中弹出视图之前在文本字段中输入一些数据。这是我的代码:

    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留空。

连连呢?

我也试图扭转它,将else部分放在if语句中,将需求更改为!= NULL,但这不起作用

1 个答案:

答案 0 :(得分:0)

您的问题是检查它是否为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];