gpt4 book ai didi

cocoa - 在 NSCollectionView 中拖放

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

我有一个 NSCollectionView,它已正确配置为根据 NSArrayController 中找到的内容显示核心数据实体。这些名为 MyManagedType 的核心数据实体被定义为包含一个 int32 索引号“indexNumber”以保持它们有序,以及二进制 NSData *myData。我还可以通过单击来选择项目,但无法“单击并拖动”它们。我只需要能够一次选择 1 个项目(实际上更好)。

我通过将文件从 finder 拖放到 NSCollectionView 来填充 NSArrayController。它通过获取文件名来接受删除的文件。然后,我打开该文件,进行处理,填充 myData,获取新的 indexNumber(indexNumber = 持久存储中的 MyManagedType 实体数),然后将此 NSManagedObject * 插入到我的持久存储中。效果很好。

我想添加的两件事,我迷路了。

1)我希望能够单击并抓取 NSCollectionView 中的一个项目,将其拖到 View (或窗口)之外,然后将其“噗”一下,然后将其从我的持久存储中删除。

2)我希望能够单击并抓取 NSCollectionView 中的一个项目,将其拖动到 NSCollectionView 中的另一个位置,然后将其放下以重新排序我的索引编号。

这里的主要障碍是我不明白要设置自己处理什么拖放类型 - 使用我现有的代码它是文件名,但现在它是什么?我已经多次阅读了类引用,并且了解了很多方法的作用,但我就是无法理解如何实现 #1 和 #2。

最佳答案

我想在 NSOutlineView 上进行拖放操作,我发现 Jonathan Dann's source code非常有帮助。

您可能想查看它并尝试修改它以与 NSCollectionView 一起使用。

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

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