我有一个包含单词列表的基于视图的NSTableView。当用户双击某个单词时,我想采取行动。单词不可编辑或可选择。我该怎么做?
我已尝试在IB中设置表格视图的目标和操作,但它只在用户点击表格标题时调用操作方法,而不是在其中一个单词中。
我已尝试设置表格单元格视图在IB中保留的NSTextField的目标和操作。这会导致在控制台中重复此错误消息:
2018-01-02 14:14:32.080347-0800 WordExplorer [7089:21457459]无法连接动作,目标类NSObject不响应-relatedWordClick:
然而,目标类 会响应选择器。 (我直接在IB中连接它,很清楚,它确实连接!)它也不是一个简单的NSObject
,所以我猜测其他地方出了问题。
我尝试在我的委托-setTarget:
方法中的表格单元格视图中的-setAction:
上手动调用NSTextField
和-tableView:viewForTableColumn:row:
。这没有任何效果,调试器显示尽管调用了这些方法,但它们并未设置文本字段的操作或目标方法。 (虽然,鉴于这是我们正在谈论的Xcode,它可能只是一个调试器显示问题。)我在控制台中没有像我在IB中建立连接那样出错,但是它也没有调用适当的方法。
我是否需要制作自定义视图类并将其用于表格单元格视图?或者是否有更简单的方法来获取列表中的单词(最好是双击)?
答案 0 :(得分:1)
只需在您拥有IBAction
NSTableView
的对象上创建target
,然后设置NSTableView
' s {{ 1}}属性到doubleAction
的选择器,您可以轻松处理双击事件。