---
title: NSDraggingSource
framework: appkit
role: symbol
role_heading: Protocol
path: appkit/nsdraggingsource
---

# NSDraggingSource

A set of methods that are implemented by the source object in a dragging session.

## Declaration

```swift
protocol NSDraggingSource : NSObjectProtocol
```

## Overview

Overview In macOS 10.7 and later NSDraggingSource is now a formal protocol and has an updated interface. The OS X v10.6 behavior has been retained, but will be dropped in a future version of the operating system. The methods that are to be deprecated are marked as such.

## Topics

### Dragging Session Operation

- [draggingSession(_:sourceOperationMaskFor:)](appkit/nsdraggingsource/draggingsession(_:sourceoperationmaskfor:).md)

### Dragging Session Locations

- [draggingSession(_:willBeginAt:)](appkit/nsdraggingsource/draggingsession(_:willbeginat:).md)
- [draggingSession(_:movedTo:)](appkit/nsdraggingsource/draggingsession(_:movedto:).md)
- [draggingSession(_:endedAt:operation:)](appkit/nsdraggingsource/draggingsession(_:endedat:operation:).md)

### Dragging Session Modifier Keys

- [ignoreModifierKeys(for:)](appkit/nsdraggingsource/ignoremodifierkeys(for:).md)

### Dragging Options

- [namesOfPromisedFilesDropped(atDestination:)](objectivec/nsobject-swift.class/namesofpromisedfilesdropped(atdestination:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Conforming Types

- [NSCollectionView](appkit/nscollectionview.md)
- [NSOutlineView](appkit/nsoutlineview.md)
- [NSTableView](appkit/nstableview.md)
- [NSTextView](appkit/nstextview.md)

## See Also

### Related Documentation

- [Drag and Drop](appkit/drag-and-drop.md)

### Drag Sources

- [NSDraggingItem](appkit/nsdraggingitem.md)
- [NSDraggingSession](appkit/nsdraggingsession.md)
- [NSDraggingImageComponent](appkit/nsdraggingimagecomponent.md)
