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.


- (BOOL)dragPromisedFilesOfTypes:(NSArray<NSString *> *)typeArray fromRect:(NSRect)rect source:(id)sourceObject slideBack:(BOOL)flag event:(NSEvent *)event;



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 YES, 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

YES if the drag operation is initiated successfully, NO otherwise.


This method must be invoked only within an implementation of the mouseDown: 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

- registerForDraggedTypes:

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

- unregisterDraggedTypes

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


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

- beginDraggingSessionWithItems:event:source:

Initiates a dragging session with a group of dragging items.

- dragFile:fromRect:slideBack:event:

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.

- shouldDelayWindowOrderingForEvent:

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.