---
title: "tableView(_:draggingSession:endedAt:operation:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nstableviewdatasource/tableview(_:draggingsession:endedat:operation:)"
---

# tableView(_:draggingSession:endedAt:operation:)

Implement this method to determine when a dragging session has ended.

## Declaration

```swift
@MainActor optional func tableView(_ tableView: NSTableView, draggingSession session: NSDraggingSession, endedAt screenPoint: NSPoint, operation: NSDragOperation)
```

## Parameters

- `tableView`: The table view.
- `session`: The dragging session.
- `screenPoint`: The ending drag location in screen coordinates.
- `operation`: The drag operation. See doc://com.apple.appkit/documentation/AppKit/NSDragOperation for supported values.

## Discussion

Discussion This delegate method can be used to determine when the dragging source operation ended at a specific location, such as the trash, by checking for an operation of delete.

## See Also

### Drag and Drop

- [Supporting Table View Drag and Drop Through File Promises](appkit/supporting-table-view-drag-and-drop-through-file-promises.md)
- [tableView(_:acceptDrop:row:dropOperation:)](appkit/nstableviewdatasource/tableview(_:acceptdrop:row:dropoperation:).md)
- [tableView(_:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWith:)](appkit/nstableviewdatasource/tableview(_:namesofpromisedfilesdroppedatdestination:fordraggedrowswith:).md)
- [tableView(_:validateDrop:proposedRow:proposedDropOperation:)](appkit/nstableviewdatasource/tableview(_:validatedrop:proposedrow:proposeddropoperation:).md)
- [tableView(_:writeRowsWith:to:)](appkit/nstableviewdatasource/tableview(_:writerowswith:to:).md)
- [tableView(_:draggingSession:willBeginAt:forRowIndexes:)](appkit/nstableviewdatasource/tableview(_:draggingsession:willbeginat:forrowindexes:).md)
- [tableView(_:updateDraggingItemsForDrag:)](appkit/nstableviewdatasource/tableview(_:updatedraggingitemsfordrag:).md)
