---
title: UITableViewDragDelegate
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uitableviewdragdelegate
---

# UITableViewDragDelegate

The interface for initiating drags from a table view.

## Declaration

```swift
@MainActor protocol UITableViewDragDelegate : NSObjectProtocol
```

## Mentioned in

Supporting drag and drop in table views

## Overview

Overview Implement this protocol in the object that you use to initiate drags from your table view. The only required method of this protocol is the tableView(_:itemsForBeginning:at:) method, but you can implement other methods as needed to customize the drag behavior of your table view. Assign your custom delegate object to the dragDelegate property of your table view.

## Topics

### Providing the items to drag

- [tableView(_:itemsForBeginning:at:)](uikit/uitableviewdragdelegate/tableview(_:itemsforbeginning:at:).md)
- [tableView(_:itemsForAddingTo:at:point:)](uikit/uitableviewdragdelegate/tableview(_:itemsforaddingto:at:point:).md)

### Tracking the drag session

- [tableView(_:dragSessionWillBegin:)](uikit/uitableviewdragdelegate/tableview(_:dragsessionwillbegin:).md)
- [tableView(_:dragSessionDidEnd:)](uikit/uitableviewdragdelegate/tableview(_:dragsessiondidend:).md)
- [tableView(_:dragSessionIsRestrictedToDraggingApplication:)](uikit/uitableviewdragdelegate/tableview(_:dragsessionisrestrictedtodraggingapplication:).md)
- [tableView(_:dragSessionAllowsMoveOperation:)](uikit/uitableviewdragdelegate/tableview(_:dragsessionallowsmoveoperation:).md)

### Providing a custom preview

- [tableView(_:dragPreviewParametersForRowAt:)](uikit/uitableviewdragdelegate/tableview(_:dragpreviewparametersforrowat:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Drag and drop

- [Supporting drag and drop in table views](uikit/supporting-drag-and-drop-in-table-views.md)
- [Adopting drag and drop in a table view](uikit/adopting-drag-and-drop-in-a-table-view.md)
- [UITableViewDropDelegate](uikit/uitableviewdropdelegate.md)
- [UITableViewDropCoordinator](uikit/uitableviewdropcoordinator.md)
- [UITableViewDropItem](uikit/uitableviewdropitem.md)
- [UITableViewDropProposal](uikit/uitableviewdropproposal.md)
