I implemented an NSArrayController
subclass to implement row reordering with bindings, using the code included in this post as a starting point. In the -tableView:acceptDrop:row:dropOperation:
method, I perform the following:
[self removeObjectAtArrangedObjectIndex:removeIndex];
[self insertObject:object atArrangedObjectIndex:insertIndex];
The above code updates the model twice (one for each statement). For my purposes, I would like to have only one update.
Is there any way to achieve this?
Thanks.
I ended up doing the following:
[_content removeObject: [objects objectAtIndex: removeIndex]]; // < Here's the hack
[self insertObject:object atArrangedObjectIndex:insertIndex];
Where _content is in fact the content array of the controller.
The above works fine in my case (as described in my question).