即时绑定方法

时间:2012-07-08 21:20:34

标签: objective-c cocoa nstableview cocoa-bindings

我有这个简单的应用程序选择钢筋。我已经使用绑定来设置连接,并且还有一些从数组控制器开始调用的数据。我按下按钮计算后运行此方法,从NSForm单元格获取值并将其用于进一步计算:

-(IBAction)calculate:(id)sender{
NSArray *editFields = [formular cells];
int vArea;
vArea = [[editFields objectAtIndex:1] intValue];
NSMutableString *select = [NSMutableString stringWithFormat:@"You selected %d + 25 = %d",vArea,vArea+25];
[selected setStringValue:select];

}

运行正常然而我想在选择表格中的行后立即运行此代码,所以我不需要那个按钮,但我不知道使用哪种方法,因为我还在学习。

scrennshot

2 个答案:

答案 0 :(得分:0)

我也在学习,所以这可能不是最好的方法。如果您的类被设置为NSTableView的委托,您可以实现以下方法。

表格视图将通知代表(您的班级)其选择已更改,此时您可以进行计算。

    - (void)tableViewSelectionDidChange:(NSNotification *)aNotification
    {
        int row;
        row = [myTable selectedRow];

        if (row == -1) 
        {
            NSLog(@"No Row selected");
        } 
        else 
        {
            NSLog(@"Selected Row = %d", row);
        }
    }

答案 1 :(得分:0)

解决方案非常简单。我只是将IBAction分配给我的tableView对象,它现在立即工作。对于这篇文章,对不起,我会在发布任何内容之前仔细思考。