我有一个基于视图的NSTableView,它通过绑定填充。我的textFields& imageViews绑定到NSTableCellView的objectValue属性。
如果我想在我的NSTableCellView中有一个编辑/信息按钮:
谁应该成为按钮操作的目标?
目标如何获得与按钮所在单元格关联的objectValue?
我最终想要显示一个基于objectValue的popover / sheet。
答案 0 :(得分:14)
我找到了一个额外的答案:上面的答案似乎假设你在表格视图上使用绑定。由于我是一个菜鸟,我找到了一种方法来获取表格视图中的按钮。
- (IBAction)getCellButton:(id)sender {
int row = [xmlTable rowForView:sender];
}
这样,当您单击行内的按钮时,您不必选择该行。它将返回行的int值以匹配数组中没有绑定的数据源。
答案 1 :(得分:7)
您的控制器类可以成为目标。获取对象值:
- (IBAction)showPopover:(id)sender {
NSButton *button = (NSButton *)sender;
id representedObject = [(NSTableCellView *)[button superview] objectValue];
}
或者,使用NSTableCellView
的子类,使单元格视图成为按钮操作的目标,并调用[self objectValue]
来获取对象。