NSOutlineView Drag & Drop Reordering in Swift
This is an example showing how two create a two level NSOutlineView with Drag & Drop reordering.
I wanted to create an example that was as simple as possible so that it is a little more clear what is going on.
The Apple example https://developer.apple.com/library/mac/samplecode/DragNDropOutlineView/Introduction/Intro.html is very complex and was written in Objective-C rather than Swift. (Still a work in progress, commenting code)