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