Cocoa NSOutlineView错误-[NSCFTimer copyWithZone:]:发送到实例的选择器无法识别

Cocoa NSOutlineView错误-[NSCFTimer copyWithZone:]:发送到实例的选择器无法识别,cocoa,Cocoa,我正在使用函数的NSOutlineView - (BOOL)outlineView:(NSOutlineView *)outlineView isGroupItem:(id)item 定义为使组行GUI具有外观。当我添加根项目时,它可以正常工作。当我将一个项添加到root的子数组并展开它时,它可以正常工作。但是,如果我收缩项目,则会记录以下错误: [NSCFTimer copyWithZone:]: unrecognized selector sent to instance 如果通过切

我正在使用函数的NSOutlineView

- (BOOL)outlineView:(NSOutlineView *)outlineView
  isGroupItem:(id)item
定义为使组行GUI具有外观。当我添加根项目时,它可以正常工作。当我将一个项添加到root的子数组并展开它时,它可以正常工作。但是,如果我收缩项目,则会记录以下错误:

[NSCFTimer copyWithZone:]: unrecognized selector sent to instance

如果通过切换到另一个应用程序来停用应用程序窗口,我还会收到EXC_BAD_访问错误。我使用调试器试图找到我可能在某个函数中出错的地方,但堆栈跟踪仅显示我没有创建的函数(RunCurrentEventLoopInMode、CFRunLoopRunSpecific、HandleWindowEndownedDisplay等)。有人知道我的错误可能在哪里吗?

听起来像是对象过早死亡。当稍后使用同一指针分配新对象,然后某物尝试向旧对象发送消息(在所示的示例中,转世为NSTimer,而某物尝试向前一个对象发送的消息为
copyWithZone:
)时,会出现“unrecognized selector sent to instance”异常。当对象仅仅是垃圾内存时,您会得到一个
EXC\u BAD\u ACCESS
崩溃


通过在启用Zombies工具的Instruments下运行应用程序来调试此功能。该对象将成为僵尸对象,而不是死亡。当某个东西试图向僵尸发送消息时,僵尸会呻吟(打个比方),这将在Instruments的时间线中显示为一个标志。您可以单击该标志中的按钮以查看对象的历史记录,包括其所有保留和释放。

听起来像是对象过早死亡。当稍后使用同一指针分配新对象,然后某物尝试向旧对象发送消息(在所示的示例中,转世为NSTimer,而某物尝试向前一个对象发送的消息为
copyWithZone:
)时,会出现“unrecognized selector sent to instance”异常。当对象仅仅是垃圾内存时,您会得到一个
EXC\u BAD\u ACCESS
崩溃

通过在启用Zombies工具的Instruments下运行应用程序来调试此功能。该对象将成为僵尸对象,而不是死亡。当某个东西试图向僵尸发送消息时,僵尸会呻吟(打个比方),这将在Instruments的时间线中显示为一个标志。您可以单击该标志中的按钮以查看对象的历史记录,包括其所有保留和释放