NSOutlineView拖放

时间:2010-05-17 18:24:56

标签: cocoa drag-and-drop nsoutlineview

我在Outlineviews和DND上阅读了另一篇文章,但我无法让我的程序运行。在这篇文章的底部是一个链接到我的项目的拉链。它非常基本,只有一个outlineview和按钮。我希望它接收被删除的文本文件,但我的代码或连接有问题。我试着遵循他们的NSOutline Drag and Drop的Apple示例代码,但我遗漏了一些东西。 1区别是我的程序是基于文档的程序而他们的例子不是。我将文件所有者设置为接收委托操作,因为这是我处理拖放操作的代码,以及按钮操作。它可能是一个简单的错误,所以有人可以看一下并告诉我我做错了什么吗?

1 个答案:

答案 0 :(得分:3)

您实现了表视图数据源拖拽接收方法,而不是大纲视图数据源拖拽接收方法。大纲视图是一种表视图,但它只使用大纲视图数据源协议;对于表视图数据源,表视图数据源协议仅 ,而不是大纲视图数据源。

有关确切需要在数据源中实施的内容的详细信息,请参阅the NSOutlineViewDataSource protocol

注意:您需要在数据源中实现这些方法,这些方法当前不是您的文档。我不知道你为什么这样做;通常,文档(主要是控制器)拥有模型,因此它应该是视图的数据来源 - 数据源。

我建议将OutlineDataSource类合并到MyDocument类中,并将表视图拖动接收方法更改为大纲视图对应方。