0

私がやりたいことは、何もない場合UITextField、アプリケーションはアラートを表示します。私は自分が何をしているのか理解していません。ここに私のコードがあります:

- (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];        
      }
  }
4

3 に答える 3

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];
    }
于 2012-05-18T07:58:04.673 に答える
2
if ([addtake.text length] == 0 && [Subtake.text length] == 0) 
于 2012-05-18T07:46:09.097 に答える
1

addText はあなたの tesxField であると仮定しているので、条件 [addtake.text length] == 0 も設定する必要があります。

于 2012-05-18T07:45:53.867 に答える