Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 如何在基于视图的NSTableView中获得单击通知_Macos_Nstableview - Fatal编程技术网

Macos 如何在基于视图的NSTableView中获得单击通知

Macos 如何在基于视图的NSTableView中获得单击通知,macos,nstableview,Macos,Nstableview,我有一个基于视图的NSTableView,其中包含一个单词列表。当用户双击一个单词时,我想做一个动作。这些文字不可编辑或选择。我该怎么做 我曾尝试在IB中设置表视图的目标和操作,但它只在用户单击表头时调用action方法,而不是单击其中一个单词 我已尝试设置表单元格视图在IB中保留的NSTextField的目标和操作。这导致控制台中重复此错误消息: 2018-01-02 14:14:32.080347-0800 WordExplorer[7089:21457459]无法连接操作,目标类NSObj

我有一个基于视图的NSTableView,其中包含一个单词列表。当用户双击一个单词时,我想做一个动作。这些文字不可编辑或选择。我该怎么做

我曾尝试在IB中设置表视图的目标和操作,但它只在用户单击表头时调用action方法,而不是单击其中一个单词

我已尝试设置表单元格视图在IB中保留的NSTextField的目标和操作。这导致控制台中重复此错误消息:

2018-01-02 14:14:32.080347-0800 WordExplorer[7089:21457459]无法连接操作,目标类NSObject未响应-相关WordClick:

但是,目标类确实响应选择器。(我直接在IB中连接了它,很明显,它是这样的!)它也不是一个简单的
NSObject
,所以我猜那里出了问题

我已尝试在代理的
-tableView:viewForTableColumn:row:
方法的表单元格视图中包含的
NSTextField
上手动调用
-setTarget:
-setAction:
。这没有效果,调试器显示,尽管调用了这些方法,但它们不会设置文本字段的操作或目标方法。(虽然,考虑到我们正在讨论的是Xcode,这很可能只是一个调试器显示问题。)我在控制台中没有收到类似于在IB中建立连接时的错误,但它也没有调用适当的方法


我是否需要创建自定义视图类并将其用于表格单元视图?或者有没有更简单的方法来点击(最好是双击)我列表中的单词?

只需在对象上创建一个
iAction
,作为
nTableView
目标,然后将
nTableView
doubleAction
属性设置为该
iAction
的选择器,您可以轻松处理双击事件。

。当我昨晚尝试这个方法时,它只有在单击表视图的标题时才起作用(正如我在第二段中提到的)。然而,今天它似乎工作正常。我不知道有什么不同,但谢谢你!