<!--
{
  "availability" : [
    "macOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SwiftUI",
  "identifier" : "/documentation/SwiftUI/DropConfiguration/init(operation:destination:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "SwiftUI"
    ],
    "preciseIdentifier" : "s:7SwiftUI17DropConfigurationV9operation11destinationAcA0C9OperationO_AA17ReorderDifferenceV11DestinationVyxq__GtcSHRzs8SendableRzSHR_sAMR_r0_lufc"
  },
  "title" : "init(operation:destination:)"
}
-->

# init(operation:destination:)

Creates a drop configuration with the provided operation and reorder
destination.

```
init<ItemID, CollectionID>(operation: DropOperation, destination: ReorderDifference<ItemID, CollectionID>.Destination) where ItemID : Hashable, ItemID : Sendable, CollectionID : Hashable, CollectionID : Sendable
```

## Discussion

Use this initializer when you want to decide where the destination value
of the current reordering session should be. The value that you pass
to this initializer will be the value used for this update.

If you don’t want to update the destination value, or your
[`dropDestination(for:isEnabled:action:)`](/documentation/SwiftUI/View/dropDestination(for:isEnabled:action:)) is not configured with
a `View/reorderContainer(for:in:move:)`, use the initializer variant
that takes only a `DropOperation`.

- operation: The drop operation that the drop destination chooses to
  perform on the drop.
- destination: The destination value for the reordering operation.

---

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)