- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我动态创建了多个复选框,现在我想检查它们的状态,但我不知道该怎么做。这是我创建多个 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];
}
下面是检查状态的代码:
-(IBAction)checkState:(id)sender
{
if ([DeleteCheckbox state] == NSOnState) {
NSLog(@"selected");
}
else {
NSLog(@"not selected");
}
}
但是运行时总是打印f: "not selected"。
最佳答案
您必须检查 发送按钮 的状态,而不是实例变量 DeleteCheckbox
的状态(它已被释放并且未指向有效按钮):
-(IBAction)checkState:(NSButton *)sender
{
if ([sender state] == NSOnState) {
NSLog(@"selected");
}
else {
NSLog(@"not selected");
}
}
关于objective-c - 如何检查在 cocoa 中以编程方式创建的 NSCheckbox 的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18120019/
我有一个 NSTableView,它有两行,一行带有复选框,一行带有文本字段,我想应用 NSTableViewDataSource.viewForTableColumn 中字典中的复选框状态 ...
我创建了多个动态复选框并为其设置标签,现在我想检查它是否选中,将其标签添加到 NSArray。这是我创建多个 NSCheckbox 的代码: for(int i = 1; i <= number; i
我有一个 NSTableView,其单元格包含 NSCheckBox。我想更改它的行为,以便可以单击表格中的任何行,并相应地打开/关闭该行中的复选框。 我觉得可以用 func tableVie
我动态创建了多个复选框,现在我想检查它们的状态,但我不知道该怎么做。这是我创建多个 NSCheckbox 的代码: for(int i=1; i<=number;i++) { DeleteCh
我需要创建一个包含NSCheckBox的NSCollectionView。当我对标签之类的东西执行此操作时,我可以绑定(bind)到控件的值。但是在处理 NSCheckBoxes 时,我需要绑定(bi
我是一名优秀的程序员,十分优秀!