没有 Matrix 的 NSButton Radio - 无法识别按钮和设置状态

NSButton Radio without Matrix - trouble identifying the buttons and setting state

我有一个 NSTableView,其中有一列带有三个单选按钮。我在 IB 中创建了它们并将它们全部绑定到相同的操作,但我无法弄清楚如何检索选中哪个无线电以调用适当的操作。这就是我以前的做法,但再一次,不再。

-(void) selectedAction:(id) sender{
    NSInteger col = [sender selectedColumn];
    if(col==0){
        proposal.status = @"Pending";
    }else if(col==1){
        proposal.status = @"Approved";
    }else if(col==2){
        proposal.status = @"Rejected";
    }
    [[DBManager getProposalTable] updateWithProposal:proposal]; 
}

我曾经能够用矩阵创建单选按钮并轻松设置按钮的状态并检索选中的比率。随着 Matrix 的贬值,我真的不知道该怎么做了。这曾经有效,但现在无效了。

if(p){
    if([proposal.status isEqualToString:@"Pending"]){
        [matrix selectCell:[cells objectAtIndex:0]];
    }else if([proposal.status isEqualToString:@"Approved"]){
        [matrix selectCell:[cells objectAtIndex:1]];
    }else if([proposal.status isEqualToString:@"Rejected"]){
        [matrix selectCell:[cells objectAtIndex:2]];
    }
}

就像我说的,这些收音机位于 NSTableView 中,并根据数据库中的值以编程方式设置。选中一个时,数据库中的值将更新。

如能提供有关如何设置单选按钮状态以及如何检索已选中单选按钮的任何建议,我们将不胜感激。

以下是我能够识别单击了哪个按钮的方法:

- (IBAction)selectedAction:(id)sender{
    NSInteger selected = [self->tableView rowForView:sender];

    NSString *row = list[selected];
    Proposal *p = list [selected];

    NSString *button = [sender title];

            if([button isEqualToString:@"Pending"]){
                p.status = @"Pending";
            }else if([button isEqualToString:@"Approved"]){
                p.status = @"Approved";
            }else if([button isEqualToString:@"Rejected"]){
                p.status = @"Rejected";
            }
            [[DBManager getProposalTable] updateWithProposal:p];
        }

虽然我无法设置按钮状态:(