DragNDropOutlineView: implementing drag and drop in an NSOutlineView

Last Revision:
Version 2.2, 2015-02-09
Updated for OS X 10.10 SDK, converted to ARC, updated to adopt current best practices for Objective-C (including use of properties, autosynthesis, and literals), fixed warnings and can’t convert to ARC (errors), converted to modern Obj-C, upgraded nib file.
(Full Revision History)
Build Requirements:
OS X 10.10 SDK or later
Runtime Requirements:
OS X 10.9 or later

DragNDropOutlineView is a little application that shows how to implement drag and drop in a NSOutlineView. The application presents some hierarchical data with some fabricated icons. Users are allowed to edit cells, add groups and leafs, and can drag any of the rows around to reorder elements of the outline view. It also demonstrates NSOutlineView insert and delete animations along with multi-item dragging.