作为一个业余的Obj-C / Cocoa开发人员,我最近一直在努力在我的软件的NSTableViews中启用拖放操作。在对此感到沮丧之后,我突然想到了一些事情:为什么我们直接与表格视图进行交互?通过表的绑定NSArrayController实现拖放和重新插入项目是不是更好?
其次,为什么没有更优雅的解决方案来添加这些常用功能?这似乎是苹果公司想让它变得容易实现的那种东西。
第三,如果这些陈述中的任何一个看起来无知,请原谅我!虽然我知道足以拼凑各种软件,但我甚至都没有接近专家。
答案 0 :(得分:1)
我刚刚开始进入这个领域,将我的Carbon应用程序更新到21世纪,我已经找到了一些很好的资源来开始使用开发人员中心。特别是WWDC 2011视频会话120 - 基于视图的NSTableView 以及随之而来的相关项目,尤其是 TableViewPlayground ,它们演示了基于NSTableCellView
的表格,包括和不包括绑定。它还演示了NSArrayController的使用。
习惯于Cocoa应用程序的MVC范例绝对是棘手的,但是Cocoa的优点在于你可以多快地使原型工作,并且可以随时添加。事实上,我很想从TableViewPlayground开始,并删除我不需要的位。
答案 1 :(得分:1)
我还会查看this post on Red Sweater Software's blog。他提供了一个NSArrayController的子类,用于处理拖放操作。如果你想要正确支持多个图像拖动(在Lion中引入),它可能需要一些更新,但它将是一个很好的起点。