NSOutlineView的outlineViewSelectionDidChange(_ notification:Notification)有时会被调用两次

时间:2017-03-06 13:03:51

标签: macos cocoa cocoa-bindings nsoutlineview nstreecontroller

我有NSOutlineView绑定到NSTreeController。在outlineView的委托中,我发现方法outlineViewSelectionDidChange(_ notification: Notification)在(1)选择了一行时被调用了两次,并且(2)点击了标题行来合并该组。

所选行均为-1。此方法的The doc未提及此行为。

有没有办法保存两个电话中的一个?

1 个答案:

答案 0 :(得分:0)

您是否在代表中注册了通知?

我观察到您报告的内容相同(validate被两次调用),这是由于在我的代表的outlineViewSelectionDidChange中添加了NSOutlineViewSelectionDidChangeNotification的观察者。我删除了注册,viewDidLoad仅被调用了一次。