我使用this post中包含的代码作为起点,实现了一个NSArrayController
子类来实现带绑定的行重新排序。在-tableView:acceptDrop:row:dropOperation:
方法中,我执行以下操作:
[self removeObjectAtArrangedObjectIndex:removeIndex];
[self insertObject:object atArrangedObjectIndex:insertIndex];
上面的代码更新了模型两次(每个语句一个)。 为了我的目的,我想只有一个更新。
有没有办法实现这个目标?
感谢。
答案 0 :(得分:0)
如果要将对阵列的许多更改合并到一个操作中,总是有可能替换整个阵列。
这可能会对例如但是,UI中的对象绑定到您的数组。
答案 1 :(得分:0)
我最终做了以下事情:
[_content removeObject: [objects objectAtIndex: removeIndex]]; // < Here's the hack
[self insertObject:object atArrangedObjectIndex:insertIndex];
其中_content实际上是控制器的内容数组 在我的情况下,上述工作正常(如我的问题所述)。