gpt4 book ai didi

cocoa - NSTableView 和 NSOutlineView 拖放

转载 作者:行者123 更新时间:2023-12-03 16:05:57 25 4
gpt4 key购买 nike

我有一个 NSTableView 和一个 NSOutlineView,它们的内容均由绑定(bind)提供,我希望它们具有一些拖放功能:

  • 将表 A 中的行拖到大纲 B 的一行上,这些行将被复制到大纲 B 中的行所代表的数据结构中。

  • 将大纲 B 中的一行拖到大纲 B 中的另一行上,这会将第一行表示的数据复制到第二行表示的数据中。

我已阅读 Apple's drag-and-drop documentation但几乎一事无成。它似乎并不真正适用于我需要做的事情。我错过了什么?

最佳答案

您链接到的页面非常清楚您需要做什么。在表 A 的数据源中,实现 registerForDraggedTypes:tableView:writeRowsWithIndexes:toPasteboard: 以将一些私有(private) TableAPasteboardType 数据放在粘贴板上。

在大纲 B 的数据源中,实现相同的两个方法,并将一些私有(private) OutlineBPasteboardType 数据放在粘贴板上。

最后,实现 tableView:validateDrop:profusedRow:proposedDropOperation:tableView:acceptDrop:row:dropOperation: 来检查粘贴板的 TableAPasteboardType > 或 OutlineBPasteboardType 并根据具体情况对绑定(bind)模型进行适当的更改。

一旦你投入并做到这一点,事情就非常简单了。

关于cocoa - NSTableView 和 NSOutlineView 拖放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/649366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com