Objective c 如何找出右键单击的单元格(尽管选择不同)

Objective c 如何找出右键单击的单元格(尽管选择不同),objective-c,macos,nstableview,nsmenu,Objective C,Macos,Nstableview,Nsmenu,我使用的是连接到IB中的NSMenu的NSTableView 现在,我可以右键单击选定的单元格,然后选择选定项的关联菜单 这很好,但是,TableView可以为未选择的项目显示上下文菜单: 因此,现在该操作应用于列表中的选定项目,而不是实际右键单击的项目:我想打开6,但最终在浏览器中打开1 以下是我处理单击事件的方式: - (IBAction)openInBrowserClicked:(id)sender { Issue *i = self.issuesController.sele

我使用的是连接到IB中的
NSMenu
NSTableView

现在,我可以右键单击选定的单元格,然后选择选定项的关联菜单

这很好,但是,TableView可以为未选择的项目显示上下文菜单:

因此,现在该操作应用于列表中的选定项目,而不是实际右键单击的项目:我想打开
6
,但最终在浏览器中打开
1

以下是我处理单击事件的方式:

- (IBAction)openInBrowserClicked:(id)sender {

    Issue *i = self.issuesController.selectedObjects.lastObject;
    [[NSWorkspace sharedWorkspace] openURL:i.URL];
}

您可以使用表视图
clickedRow
property/方法来确定单击放置在哪一行上。接下来,从您的数据源中获取单击行的对象,就是它。

运行良好。这是我从数组控制器获取对象的方式:
[self.issuecontroller.arrangedObjects objectAtIndex:self.myTableView.clickedRow]