重新组织模型数组以反映表行拖放



我一直在绞尽脑汁,试图找出一种在用户提交NSTableView时重新组织模型数组的方法。他们当前可以选择一行或多行,并将它们放在表中任何行之前或之后。

我得到了一个包含拖动的表行的IndexSet。我还得到了一个destinationRow,表示这些行将放置的目标。

例如,原始模型如下所示:[0, 1, 2, 3, 4, 5]

用户将行拖123之后......

然后我需要更新我的数组,如下所示:[0, 3, 1, 2, 4, 5]

关于如何有效地实现这一目标的任何想法?谢谢。

我意识到我以错误的方式处理这个问题。

我试图考虑如何将元素与它们的索引交换,而我真正需要做的就是使用内置函数。remove(at:).insert(obj, at:)

这允许我非常简单地重新组织数组。

最新更新