首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将动态创建的NSCheckbox标签添加到Cocoa中的数组中

如何将动态创建的NSCheckbox标签添加到Cocoa中的数组中
EN

Stack Overflow用户
提问于 2013-08-08 15:54:11
回答 1查看 425关注 0票数 0

我创建了多个动态复选框并为它设置了标签,现在我想检查它是否选中,将它的标签添加到NSArray。这是我创建多个NSCheckbox的代码:

代码语言:javascript
复制
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];
}

我使用了以下代码,但它将所有内容添加到Array:

代码语言:javascript
复制
-(IBAction)checkState:(NSButton *)sender
{
    if ([sender state] == NSOnState) {
        NSLog(@"selected");
        for (int i = 1; i <= number; i ++) {
            [deleteSelectedArray addObject: [[guiView viewWithTag:200+i] intValue]];

        }
        NSLog(@"deleteSelectedArray : %@",deleteSelectedArray);

    }
    else {
        NSLog(@"not selected");
    }
}

我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2013-09-12 03:52:09

代码语言:javascript
复制
- (IBAction) checkState: (NSButton*) sender {
    for (int i = 1; i <= number; i ++) {
        if ([[guiView viewWithTag: 200 + i] state] == NSOnState) {
            [deleteSelectedArray addObject: [[guiView viewWithTag: 200 + i] intValue]];
        }
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18120748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档