我找到了一个教程here 关于如何在大纲视图中实现拖放。我唯一的问题是我不知道从教程中放置代码的位置。如果您能告诉我应该将代码放在Xcode项目中以使其工作,我将非常感激。谢谢!
答案 0 :(得分:4)
您可能还想查看this tutorial(还有一个part two详细说明了无序树。)
特别是,链接教程包含一个可以帮助您入门的XCode项目。查看DragController.m
,了解您在链接中引用代码的位置。
答案 1 :(得分:4)
Apple发布了一个示例代码,解释了如何执行此操作。 http://developer.apple.com/library/mac/#samplecode/DragNDropOutlineView/Introduction/Intro.html
我发现这比我在互联网上找到的所有其他样本要好得多。
答案 2 :(得分:2)
它们是委托/数据源方法,因此您将它们放入大纲视图的委托和数据源中。通常这是您的控制器对象,但您可以通过编程方式连接IB中的连接。我实际上建议在使用绑定或核心数据之前了解数据源和委托方法的工作原理,因为绑定并不是要取代低级代码的知识(并且在绑定之前你会遇到很多问题,直到你对基础知识有充分的了解。)
另外,请记住NSTreeController自10.5以来有所改进,从我听说你应该能够获得真正的观察对象而不再使用私有方法。