1

Hello i'm making app in which i have many chekbox buttons.the bad thing is that my code is too long.i'm writing (if logic) for each button what I actually don't like.I want to make code shorter.can anybody help me? my code is something like this:(checked is boolean)

- (IBAction)firstBoxButton:(id)sender {
    if(!checked)
    {
        [firstBox setImage:[UIImage imageNamed:@"unchecked_checkbox.png"] forState:UIControlStateNormal];
        checked = YES;
    }  else
            if (checked)
            {
                [firstBox setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
                checked = NO;

            }


}
- (IBAction)secondBoxButton:(id)sender {
    if(!checked)
    {
        [secondBox setImage:[UIImage imageNamed:@"unchecked_checkbox.png"] forState:UIControlStateNormal];
        checked = YES;
    }  else
        if (checked)
        {
            [secondBox setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
            checked = NO;

        }
lucca910
  • 91
  • 1
  • 9
  • 4
    Possible duplicate of [IOS: one IBAction for multiple buttons](http://stackoverflow.com/questions/5858247/ios-one-ibaction-for-multiple-buttons) – Teja Nandamuri May 19 '16 at 18:13

1 Answers1

0

Do this way:

Create a new method like this:

- (IBAction)anyBoxButton:(id)sender {
UIButton *anyButton = sender;
if(!checked)
{
[anyButton setImage:[UIImage imageNamed:@"unchecked_checkbox.png"] forState:UIControlStateNormal];
                checked = YES;
            }  else
            if (checked)
            {
            [anyButton setImage:[UIImage imageNamed:@"checked.png"] forState:UIControlStateNormal];
             checked = NO;
 }
}

Then in your xib add your action for buttons firstBoxButton and secondBoxButton to above created method. And it should work.

maddy
  • 4,001
  • 8
  • 42
  • 65