我有一个NSOutlineView
绑定到一个NSTreeController
. 大纲视图的项目(多选)可以通过拖放重新排序。
我想添加对撤消/重做重新排序大纲视图的支持。有人可以指出一些示例代码来展示如何做到这一点吗?
我很难重建移动的树节点的索引路径,因为当我撤消更改时,树控制器的结构会发生变化,因此剩余节点的索引路径会放回其原始位置。
我最初使用此代码移动节点:
[self.treeController moveNodes:draggedTreeNodes toIndexPath:insertIndexPath];
请注意如何moveNodes:
仅将单个索引路径作为参数。如果选择包含多个节点,我不能一次将所有内容移回,而是必须一个一个地重播更改(遇到上述索引路径无效的问题)。