I created Multiple checkbox dynamic, now I want to check state of them but I don't know how to do that. This is my code to create multiple NSCheckbox:
for(int i=1; i<=number;i++)
{
DeleteCheckbox = [[NSButton alloc] initWithFrame:NSMakeRect (20,textfield_Y,50,25)];
[DeleteCheckbox setButtonType:NSSwitchButton];
[DeleteCheckbox setBezelStyle:0];
[DeleteCheckbox setTitle:@""];
[DeleteCheckbox setTag:200+i];
[DeleteCheckbox setState:NSOffState];
[DeleteCheckbox setAction:@selector(checkState:)];
[guiView addSubview:DeleteCheckbox];
[DeleteCheckbox release];
}
And below code for check state:
-(IBAction)checkState:(id)sender
{
if ([DeleteCheckbox state] == NSOnState) {
NSLog(@"selected");
}
else {
NSLog(@"not selected");
}
}
But when run, it always printf: "not selected".
You have to check the state of the sending button, not of the instance variable DeleteCheckbox
(which has been released and does not point to a valid button):
-(IBAction)checkState:(NSButton *)sender
{
if ([sender state] == NSOnState) {
NSLog(@"selected");
}
else {
NSLog(@"not selected");
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With