我有一个NSTableView
,我希望允许用户拖放视频文件。当他们放弃文件时,它将作为表格视图中的一行添加。将文件拖放到NSTableView上?
我该怎么做呢?目前的tableview的由阵列控制器(从一个NSMutableArray的获取其数据)
我发现this文档获取其数据,但似乎无法使它工作..
我..
- 提出了“TableCon”类(我改变从NSTableView的,不是NSObject的继承)
- 改变了NSTableView的类TableCon
- 的NSTableView的的委托出口设置为该类
- 在TableCon的init
- 实施
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender;
(再次TableCon)
..但是,什么叫registerForDraggedTypes
,它就像我从来没有改变任何东西(没有错误),我究竟做错了什么?
编辑:我已经试过落实波阿斯Stuller的建议,同时也找到了解决的this描述(first reply包括解决第一篇文章)。所以我现在做的是..
- 子类NSArrayController的,哪些资讯内容表视图(TableListCon)
- 添加
tableView
出口TableListCon(并指出其在NSTableView的) - 实施validateDrop,writeRowsWithIndexes ,并接受TableListContent中的Drop
- 在tableView插座上调用registerForDraggedTypes。
同样,没有错误/警告,但只有awakeFromNib方法好像是叫(其他方法都不是所谓的)
这些是数据源方法。您需要将表视图的dataSource出口挂接到实现这些方法的类,以便调用它们。 – 2009-05-05 01:39:31
Ohhhhh,这就是我做错了!通过“数据源”我假设它意味着阵列控制器!现在所有的工作都很完美,您能否将这些信息添加到您的答案中,以便我可以接受它?谢谢波阿斯! – dbr 2009-05-05 02:00:32