2

iPhoneアプリでは、alertviewを使用して、テキストボックスの値が空かどうかを確認しています。そうでない場合は、アラートが表示されます。それ以外の場合は、次の画面に移動しますが、値をもう一度入力すると、アラートビューが表示され、何が問題なのかわかりません。

私も値を入力すると、trueの場合は常に表示されます。

   -(IBAction)buttonClick{
   if (monthTextField.text=@"") {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please enter values first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


}


 else if (motionSicknessTextField.text=@"") {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please enter values first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


}


else if (prescriptionTextField.text=@"") {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please enter values first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


}


else if (otherMeansTextField.text=@"") {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please enter values first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


}
else if (cereniaTextField.text=@"") {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please enter values first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


}
else if (costToClientTextField.text=@"") {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please enter values first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


}

else if (clinicMarkup.text=@"") {

    UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"Please enter values first" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alert show];
    [alert release];


}
   else{    

GraphsViewController*targetController=[[GraphsViewController alloc]init];

NSString*dogswithMotionSickness=motionSicknessTextField.text;
NSString*valueOne=cereniaTextField.text;
NSString*valueTwo=prescriptionTextField.text;
NSString*valueThree=otherMeansTextField.text;
NSString*valueFour=overtheCounterTextField.text;
cerenia=cereniaTextField.text;


NSString*costToClient=costToClientTextField.text;
NSString*clinicalMarkup=clinicMarkup.text;
perMonth=monthTextField.text;


targetController.perMonth=perMonth;
targetController.dogswithMotionSickness=dogswithMotionSickness;

targetController.valueOne=valueOne;
targetController.valueTwo=valueTwo;
targetController.valueThree=valueThree;
targetController.valueFour=valueFour;
targetController.cerenia=cerenia;
targetController.costToClient=costToClient;

targetController.clinicalMarkup=clinicalMarkup;

[self.navigationController pushViewController:targetController animated:YES];

  }}
4

3 に答える 3

0

空の文字列をチェックする場合は、次を使用します。

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

また

if(monthTextField.text.length > 0)
于 2012-05-16T05:13:32.097 に答える
0

AppName-Prefix.pchファイルでこれら2つのマクロを定義します

#define IS_EMPTY_STRING(str) (!(str) || ![(str) isKindOfClass:NSString.class] || [(str) length] == 0)
#define IS_POPULATED_STRING(str) ((str) && [(str) isKindOfClass:NSString.class] && [(str) length] > 0)

このようにして、空の文字列とnil文字列オブジェクトの両方をチェックできます。

IS_EMPTY_STRING(myString);
于 2012-05-16T11:06:53.273 に答える
0

また使用

if ([motionSicknessTextField.text isEqualToString:@""] || [motionSicknessTextField.text isEqualTo:nil])  

これはnilのフィルターであり、textFieldのオブジェクトまたは値も空白です。

于 2012-05-16T11:17:50.267 に答える