Instance Method


Initiates a dragging operation from the view, allowing the user to drag one or more promised files (or directories) into any application that has window or view objects that accept promised file data.


func dragPromisedFiles(ofTypes typeArray: [String], from rect: NSRect, source sourceObject: Any, slideBack flag: Bool, event: NSEvent) -> Bool



An array of file types being promised. The array elements can consist of file extensions and HFS types encoded with the NSFileTypeForHFSTypeCode(_:) function. If promising a directory of files, only include the top directory in the array.


A rectangle that describes the position of the icon in the view’s coordinate system.


An object that serves as the controller of the dragging operation. It must conform to the NSDraggingSource protocol, and is typically the view itself or its NSWindow object.


A Boolean that indicates whether the icon being dragged should slide back to its position in the view if the file isn’t accepted. The icon slides back to aRect if slideBack is true, the promised files are not accepted by the dragging destination, and the user has not disabled icon animation; otherwise it simply disappears.


The mouse-down event object from which to initiate the drag operation. In particular, its mouse location is used for the offset of the icon being dragged.

Return Value

true if the drag operation is initiated successfully, false otherwise.


This method must be invoked only within an implementation of the mouseDown(with:) method. As part of its implementation, this method invokes dragImage:at:offset:event:pasteboard:source:slideBack:.

Promised files are files that do not exist, yet, but that the drag source, sourceObject, promises to create at a file system location specified by the drag destination when the drag is successfully dropped.

See Drag and Drop Programming Topics for more information on dragging operations.

See Also

Dragging Operations

func registerForDraggedTypes([NSPasteboard.PasteboardType])

Registers the pasteboard types that the view will accept as the destination of an image-dragging session.

func unregisterDraggedTypes()

Unregisters the view as a possible destination in a dragging session.

var registeredDraggedTypes: [NSPasteboard.PasteboardType]

The array of pasteboard drag types that the view can accept.

func dragFile(String, from: NSRect, slideBack: Bool, event: NSEvent) -> Bool

Initiates a dragging operation from the view, allowing the user to drag a file icon to any application that has window or view objects that accept files.

func shouldDelayWindowOrdering(for: NSEvent) -> Bool

Allows the user to drag objects from the view without activating the app or moving the window of the view forward, possibly obscuring the destination.