Support the direct manipulation of your app's content using drag and drop.
With very little programming on your part, custom view objects can be dragged and dropped anywhere. Objects become part of this dragging mechanism by conforming to dragging protocols: Draggable objects conform to the
NSDragging protocol, and destination objects (that is, receivers of a drop) conform to the
NSDragging protocol. AppKit hides all the details of tracking the cursor and displaying the dragged image.
For an example on using drag and drop in your app with an outline view, see Navigating Hierarchical Data Using Outline and Split Views.