NSDraggingSession class encompases a drag and drop action and allows modification of the drag while in progress.
- macOS 10.7+
You start a new dragging session by calling the
beginDraggingSession(with:event:source:) method. This method immediately returns and you can further modify the properties of the dragging session. The actual drag begins at the next turn of the run loop.