<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIDragDropSession",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(pl)UIDragDropSession"
  },
  "title" : "UIDragDropSession"
}
-->

# UIDragDropSession

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

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

## Topics

### Checking for drag items

[`-  canLoadObjectsOfClass:`](/documentation/UIKit/UIDragDropSession/canLoadObjects(ofClass:))

Returns a Boolean value that indicates whether at least one drag item in the session can create an instance of the specified class.

[`-  hasItemsConformingToTypeIdentifiers:`](/documentation/UIKit/UIDragDropSession/hasItemsConforming(toTypeIdentifiers:))

Returns a Boolean value that indicates whether at least one drag item in the session conforms to at least one of the specified UTIs.

[`items`](/documentation/UIKit/UIDragDropSession/items)

An array of drag items in the drag session or drop session.

### Checking for drag and drop session restrictions

[`allowsMoveOperation`](/documentation/UIKit/UIDragDropSession/allowsMoveOperation)

A Boolean value that indicates whether the drag session permits moving drag items within the same app.

[`restrictedToDraggingApplication`](/documentation/UIKit/UIDragDropSession/isRestrictedToDraggingApplication)

A Boolean value that indicates whether the drag session is confined to the app that started the drag activity.

### Getting the location of a drag activity

[`-  locationInView:`](/documentation/UIKit/UIDragDropSession/location(in:))

Returns the geometrical location of the user’s drag activity within the specified view.

## Relationships

### Inherits From

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

### Inherited By

[`UIDropSession`](/documentation/UIKit/UIDropSession)

[`UIDragSession`](/documentation/UIKit/UIDragSession)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)