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

时间:2017-08-27 00:16:22

标签: cocoa nstableview algebra

当用户在NSTableView上拖放时,我一直在试图想出一种重组我的模型数组的方法。他们当前可以选择一行或多行,并在表格的任何行之前或之后删除它们。

我得到一个IndexSet,其中包含被拖动的表格行。我还给了一个destinationRow代表这些行的放置目的地。

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

用户将行12拖到3之后......

然后我需要将我的数组更新为:[0, 3, 1, 2, 4, 5]

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

1 个答案:

答案 0 :(得分:0)

我意识到我一直在以错误的方式解决问题。

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

这让我可以非常简单地重组数组。