2012-05-18 93 views
0

我想要做的,如果UITextField上没有任何内容,应用程序将显示警报。我不明白我在做什么错。这里是我的代码:如果UITextField为空,则显示UIAlert

- (IBAction)Calculate:(id)sender { 
    /*If there is nothing on textfield, it will show an alert*/ 

    if ([addtake.text length] && [Subtake.text length] == 0) 
    { 

      UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"Alert"message:@"Empty TextField not allowed" delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles: nil];  
      [myAlert show]; 
    } 

    else{ 

      NSString *Adding =[addtake text]; 
      NSInteger number = [Adding intValue]; /*Converting String to int*/ 
      NSInteger new = 5 + number; 
      NSString *newString = [NSString stringWithFormat:@"%d",new]; 
      [myAdd setText:newString]; 
      /*Subtruct*/ 
      NSString *Subtruct =[Subtake text]; 
      NSInteger SubNumber = [Subtruct intValue]; 
      NSInteger newSub = 10 - SubNumber; 
      NSString *newSubString = [NSString stringWithFormat:@"%d",newSub]; 
      [mySub setText:newSubString]; 

      [addtake resignFirstResponder]; 
      [Subtake resignFirstResponder];   
     } 
    } 
+0

其中textField?吸收或吸收? – Shmidt

回答

3

尝试使每个子子句中的if语句明确的 - 如果仅仅是为了便于阅读...

我会用逻辑或,而不是逻辑并在测试。因此,如果任一文本字段为空,警报将显示

if ((![addtake.text length]) || (![Subtake.text length])) 
    { 

      UIAlertView *myAlert = [[UIAlertView alloc]initWithTitle:@"Alert"message:@"Empty TextField not allowed" delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles: nil];  
      [myAlert show]; 
    } 
+0

是的,这是最好的解决方案:-) – Adnan

1

我认为addText是你tesxField所以你需要设置的条件[addtake.text长度] == 0以及。

2
if ([addtake.text length] == 0 && [Subtake.text length] == 0) 
相关问题