---
title: "tableView(_:dragSessionWillBegin:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uitableviewdragdelegate/tableview(_:dragsessionwillbegin:)"
---

# tableView(_:dragSessionWillBegin:)

Signals the start of a drag operation involving content from the specified table view.

## Declaration

```swift
optional func tableView(_ tableView: UITableView, dragSessionWillBegin session: any UIDragSession)
```

## Parameters

- `tableView`: The table view from which the drag operation originated.
- `session`: The drag session object providing context for the drag operation.

## Discussion

Discussion This method is called after it has been determined that a drag will begin, after any lift animations have occurred, and before the position of the drag changes significantly. Use this method to perform any tasks related to the management of the drag session in your app. Each call to this method is always balanced by a call to the tableView(_:dragSessionDidEnd:) method.

## See Also

### Tracking the drag session

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