2014-07-20 2 views
0

그물을 검색했지만 답변을 찾지 못했습니다. 내 앱에 사용자 등록이되어 있으므로 사용자를 수락하기 전에 입력 텍스트 필드를 확인해야합니다.여러 오류가 동일한 UIAlertView에 표시됩니다.

여기 내 코드입니다 :

- (IBAction)continueRegister:(id)sender { 
    if (!termsOfUseChecked) 
     NSLog(@"Error"); 
     else 
      NSLog(@"Success"); 
    if ([_regTelephoneNumber.text length] > 10) { 
     [self initWithTitle:@"error" andMessage:@"bla bla" andCancelButton:@"ok"]; 
    } 

    if ([_regUserEmail.text rangeOfString:@"@"].location == NSNotFound){ 
     [self initWithTitle:@"error" andMessage:@"bla bla" andCancelButton:@"ok"]; 
    } 
    if (![_regPassword.text isEqualToString:_regConfirmPassword.text]) { 
    [self initWithTitle:@"error" andMessage:@"bla bla" andCancelButton:@"ok"]; 
    } 

} 

-(void)initWithTitle:(NSString*)title andMessage:(NSString*)message andCancelButton:(NSString*)cancelButton; 
{ 
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButton otherButtonTitles:nil, nil]; 
    [alert show]; 
} 

하지만 더 이상의 오류가 발생하면 사용자가 많은 팝 업을. 동일한 UIAlertview에서 모든 오류를 표시 할 수있는 방법이 있습니까?

답변

2

당신은 그냥 문자열을 연결하고 오류 검사의 말을 보여줄 것 NSArray

- (IBAction)continueRegister:(id)sender { 
    NSMutableArray *errorArr = [@[] mutableCopy]; 
    if (!termsOfUseChecked) 
     NSLog(@"Error"); 
    else 
     NSLog(@"Success"); 
    if ([_regTelephoneNumber.text length] > 10) { 
     [errorArr addObject:@"Telephone Bla"]; 
    } 

    if ([_regUserEmail.text rangeOfString:@"@"].location == NSNotFound){ 
     [errorArr addObject:@"UserEmail Bla"]; 
    } 
    if (![_regPassword.text isEqualToString:_regConfirmPassword.text]) { 
     [errorArr addObject:@"Password Bla"]; 
    } 

    if([errorArr count]==0){ 
     [self initWithTitle:@"No Error" andMessage:@"Success" andCancelButton:@"ok"]; 
    } 
    else if([errorArr count] == 1){ 

     [self initWithTitle:@"Error" andMessage:errorArr[0] andCancelButton:@"ok"]; 
    } 
    else if([errorArr count] >1){ 

     [self initWithTitle:@"Multiple Error" andMessage[errorArr componentsJoinedByString:@","] andCancelButton:@"ok"]; 
    } 

} 
+0

대단히 감사합니다. – OshriALM

1

사용할 수 있습니다 : 당신은 또한 "추가 newLineCharacters와 messageString를 포맷 할 수 있습니다

- (IBAction)continueRegister:(id)sender { 
NSMutableString * titleString= @""; 
NSMutableString * mesageString = @""; 


if (!termsOfUseChecked) 
    NSLog(@"Error"); 
    else 
     NSLog(@"Success"); 
if ([_regTelephoneNumber.text length] > 10) { 
[titleString appendString: @"an error title; "]; 
[messageString appendString: @"an error message; "] 
} 

if ([_regUserEmail.text rangeOfString:@"@"].location == NSNotFound){ 
[titleString appendString: @"an error title; "]; 
[messageString appendString: @"an error message; "] 
} 
if (![_regPassword.text isEqualToString:_regConfirmPassword.text]) { 
[titleString appendString: @"an error title; "]; 
[messageString appendString: @"an error message; "] 
} 
if(![titleString isEqualToString: @""]){ 
[self initWithTitle:titleString andMessage:messageString andCancelButton:@"ok"]; 
} 

} 

\ n "을 입력하십시오.

관련 문제