---
title: UIDragDropSession
framework: uikit
role: symbol
role_heading: Protocol
path: uikit/uidragdropsession
---

# UIDragDropSession

The common interface for querying the state of both drag sessions and drop sessions.

## Declaration

```swift
@MainActor protocol UIDragDropSession : NSObjectProtocol
```

## Topics

### Checking for drag items

- [canLoadObjects(ofClass:)](uikit/uidragdropsession/canloadobjects(ofclass:).md)
- [hasItemsConforming(toTypeIdentifiers:)](uikit/uidragdropsession/hasitemsconforming(totypeidentifiers:).md)
- [items](uikit/uidragdropsession/items.md)

### Checking for drag and drop session restrictions

- [allowsMoveOperation](uikit/uidragdropsession/allowsmoveoperation.md)
- [isRestrictedToDraggingApplication](uikit/uidragdropsession/isrestrictedtodraggingapplication.md)

### Getting the location of a drag activity

- [location(in:)](uikit/uidragdropsession/location(in:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

### Inherited By

- [UIDragSession](uikit/uidragsession.md)
- [UIDropSession](uikit/uidropsession.md)

## See Also

### Drag sources

- [UIDragItem](uikit/uidragitem.md)
- [UIDragSession](uikit/uidragsession.md)
- [UIDragAnimating](uikit/uidraganimating.md)
