我在这里阅读了关于 Outlineviews 和 DND 的另一篇文章,但我无法让我的程序运行。这篇文章的底部是我的项目的 zip 链接。它非常基本,只有一个大纲视图和按钮。我希望它接收放置在上面的文本文件,但我的代码或连接有问题。我尝试遵循 Apple 的 NSOutline 拖放示例代码,但我遗漏了一些东西。1 个不同之处是我的程序是基于文档的程序,而他们的示例不是。我将文件的所有者设置为接收委托操作,因为这是我处理拖放的代码以及按钮操作的位置。它可能是一个简单的错误,所以有人可以看看它并告诉我我做错了什么吗?
问问题
1483 次
1 回答
3
您实现了表格视图数据源拖动接收方法,而不是大纲视图数据源拖动接收方法。大纲视图是一种表格视图,但它专门使用大纲视图数据源协议;表视图数据源协议仅适用于表视图数据源,不适用于大纲视图数据源。
有关您需要在数据源中实现的确切内容的更多详细信息,请NSOutlineViewDataSource
参阅协议。
关于这一点:您需要在您的数据源中实现这些方法,该数据源目前不是您的文档。我不知道你为什么这样做;通常,文档(主要作为控制器的角色)拥有模型,因此它应该是视图的数据源——数据源。
我建议将 OutlineDataSource 类合并到 MyDocument 类中,并将表格视图拖动接收方法更改为它们的大纲视图对应项。
于 2010-05-18T08:17:18.620 回答