4

我有一个通过绑定填充的基于视图的 NSTableView。我的 textFields 和 imageViews 绑定到 NSTableCellView 的 objectValue 的属性。

如果我想在我的 NSTableCellView 中有一个编辑/信息按钮:

  1. 谁应该是按钮动作的目标?

  2. 目标如何获得与按钮所在的单元格关联的 objectValue?

我最终想显示一个基于 objectValue 的弹出框/工作表。

4

2 回答 2

15

我找到了一个额外的答案:上面的答案似乎假设您在表格视图上使用绑定。由于我是个菜鸟,我找到了一种方法来获取表格视图单元格内的按钮。

- (IBAction)getCellButton:(id)sender {
     int row = [xmlTable rowForView:sender];
}

这样,当您单击行内的按钮时,您不必选择该行。它将返回行的 int 值以匹配数组中没有绑定的数据源。

于 2012-05-14T01:43:27.093 回答
7

您的控制器类可以是目标。获取对象值:

- (IBAction)showPopover:(id)sender {
    NSButton *button = (NSButton *)sender;
    id representedObject = [(NSTableCellView *)[button superview] objectValue];
}

或者,使用 的子类NSTableCellView,使单元格视图成为按钮操作的目标,并调用[self objectValue]以获取对象。

于 2012-02-22T18:24:13.983 回答