There are several parts to being a drag destination. First, you need to declare your view a destination for the dragging of certain types. NSView has a method for this purpose:
func registerForDraggedTypes(newTypes: [AnyObject])
You typically call this method in your initWithFrame: method.
Then you need to implement six methods. (Yes, six!) All six methods have the same argument: an object that conforms to the NSDraggingInfo protocol. That object provides the dragging pasteboard. The six methods are invoked as follows:
As the image is dragged into the destination, the destination is sent a draggingEntered(_:) message. Often, the destination ...