macos - NSOutlineView的outlineViewSelectionDidChange(_通知: Notification) get called twice some times

标签 macos cocoa cocoa-bindings nsoutlineview nstreecontroller

我有一个绑定(bind)到 NSTreeControllerNSOutlineView。在outlineView的委托(delegate)中,我发现方法outlineViewSelectionDidChange(_ notification:Notification)在(1)选择了一行以及(2)单击标题行以折叠组时被调用了两次。

所选行均为-1。 The doc这个方法没有提到这个行为。

有没有办法保存这两个调用之一?

最佳答案

您是否在委托(delegate)中注册了通知?

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

关于macos - NSOutlineView的outlineViewSelectionDidChange(_通知: Notification) get called twice some times,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42626376/

相关文章:

java - 将mac os终端的内容写入java中的文件

java - 获取 Mac 中运行的驱动程序

macos - 终端启动错误: object 0x7fe089600420: pointer being freed was not allocated

iphone - 在iPhone Objective c中的同一父节点下解析多个具有相同名称的标签

objective-c - 以编程方式更改 NSButton 状态和绑定(bind)值

swift - 在 Swift for OSX 的子类中管理事件处理

iphone - iOS 5 UIButton 标题显示省略号

objective-c - 如何在 Cocoa 中创建字符串的 MD5 哈希?

iPhone核心数据: Do Transformable Attributes have to Transform to only Data?

objective-c - 如何获取 NSPopUpButton 选中的对象?