2017-07-18 40 views
0

我做了三个单选按钮rd1,rd2和rd3。当用户点击rd1时,它会显示一些按钮,我们必须从中选择任何人。三个单选按钮中的相同参数。现在我想对单选按钮进行验证。当页面加载没有收音机被选择时,当用户想要转到下一页时,它应该首先选择任何单选按钮和一个选项。我已经尝试了一些代码,但没有正常工作。当我点击下一个按钮时,它会显示提示输入属性类型。但是,当我选择任何单选按钮和选项时,它也会在选择后再次显示相同的警报,并且我无法移动到下一页。我的代码是,验证单选按钮选择或不在IOS

else if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO){ 

    if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO) { 
     NSString *message = @"Property Type"; 

     UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Select Property Type" 
                     message:message 
                   preferredStyle:UIAlertControllerStyleAlert]; 

     [self presentViewController:alert animated:YES completion:nil]; 

     int duration = 1; // duration in seconds 

     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, duration * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ 
      [alert dismissViewControllerAnimated:YES completion:nil]; 
     }); 

    } 
    else{ 
     if ([rd1 isSelected]==YES || [rd2 isSelected]==YES || [rd3 isSelected]==YES){ 


      [rd1.titleLabel.text isEqualToString:@"Homes"]; 
      [rd2.titleLabel.text isEqualToString:@"Button"]; 
      [rd3.titleLabel.text isEqualToString:@"Button"]; 
     } 

    } 

    } 

回答

1

您的情况有问题。如果你想检查是否至少有一个按钮,应该点击来,那么你需要把& &条件:

if(rd1.selected == false && rd2.selected == false && rd3.selected == false) 
    { 
     // You need to show alert because none of the radio buttons is selected. 
     // Show your alert 
    } 
    else 
    { 
     // One of them is selected... 

    } 

条件释:

& &:每一个你已经写了必须条件需要满足。如果是这样,那么它会给你真,否则为假。

|| :如果任何条件满足,那么它会给你真。

0

把你else条件之后第二个从最后花括号

else if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO){ 

    if ([rd1 isSelected]==NO || [rd2 isSelected]==NO || [rd3 isSelected]==NO) { 
     NSString *message = @"Property Type"; 

     UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"Select Property Type" 
                     message:message 
                   preferredStyle:UIAlertControllerStyleAlert]; 

     [self presentViewController:alert animated:YES completion:nil]; 

     int duration = 1; // duration in seconds 

     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, duration * NSEC_PER_SEC), dispatch_get_main_queue(), ^{ 
      [alert dismissViewControllerAnimated:YES completion:nil]; 
     }); 

    } 


    }else{ 
     if ([rd1 isSelected]==YES || [rd2 isSelected]==YES || [rd3 isSelected]==YES){ 


      [rd1.titleLabel.text isEqualToString:@"Homes"]; 
      [rd2.titleLabel.text isEqualToString:@"Button"]; 
      [rd3.titleLabel.text isEqualToString:@"Button"]; 
     } 

    }