как задать условие для текстового поля. текст? - PullRequest
2 голосов
/ 13 июля 2011
if([txtField1.text  intValue] == nil  && [txtField2.text  intValue] == nil && [txtField3.text  intValue] == nil  && [txtField4.text  intValue] == nil  && [txtField5.text  intValue] == nil && [txtField6.text  intValue] == nil && [txtField7.text  intValue] == nil && [txtField8.text  intValue] == nil )
{
    UIAlertView *info = [[UIAlertView alloc] initWithTitle:@"Info" message: @"Please complete your test." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
     [info show];
     [info release];

}
else if(txtField1.text == NULL  || txtField2.text   == NULL || txtField3.text  == NULL || txtField4.text   == NULL  || txtField5.text  == NULL || txtField6.text == NULL ||txtField7.text == NULL || txtField8.text  == NULL )
{
    UIAlertView *info = [[UIAlertView alloc] initWithTitle:@"Info" message: @"Please complete your test." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [info show];
    [info release];

}
else{
fourthScreen=[[FourthScreen alloc] initWithNibName:@"FourthScreen" bundle:nil];
    [self.navigationController pushViewController:self.fourthScreen animated:YES];
}

в приведенном выше коде у меня есть 8 текстовых полей.для этого я определил условие, когда все текстовые поля не заполнены, или нет.и это работает.Но когда я определяю, как если бы у кого-либо было нулевое или пустое текстовое поле, также показывалось предупреждение, но оно не показывалось.Проблема заключается в том, что когда я ввожу целочисленное значение «0», оно также показывает представление оповещения, но я хочу, чтобы оно не показывало значение «0».Значение, выбранное представлением picke4r.как установить код для этого?

Ответы [ 5 ]

2 голосов
/ 13 июля 2011

Попробуйте:

if([txtName.text length] == 0 || [txtName.text isEqualToString:@""])
{
         // Alert here
}

Проверка длины до 0 или сравнение строки с пустой строкой.

1 голос
/ 13 июля 2011

Нет необходимости в первом условии в любом случае, если какое-либо текстовое поле пустое, должно появиться предупреждение Попробуйте это

if([txtField1.text length] == 0  || [txtField2.text length] == 0 || [txtField3.text length]  == 0 || [txtField4.text length   == 0]  || [txtField5.text length]  == 0 || [txtField6.text length == 0 ||[txtField7.text length] == 0 || [txtField8.text length]  == 0 )
{
    UIAlertView *info = [[UIAlertView alloc] initWithTitle:@"Info" message: @"Please complete your test." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [info show];
    [info release];

}
else{
fourthScreen=[[FourthScreen alloc] initWithNibName:@"FourthScreen" bundle:nil];
    [self.navigationController pushViewController:self.fourthScreen animated:YES];
}
0 голосов
/ 19 июля 2011

if ([txtName.text isEqualToString: @ ""])

{

}

0 голосов
/ 13 июля 2011

Проверьте, равна ли длина строки в ваших текстовых полях 0:

if ([txtField1.text  length] == 0) {
    //your stuff here
}

Это будет верно, если в текстовое поле вообще ничего не введено. Вам больше не понадобится «различие» между nil и NULL.

0 голосов
/ 13 июля 2011

вы можете сравнить 0, как это.

 if ([txtName.text isEqualToString:@"0"]) {
     // 0
 }
...