---
title: "browser(_:validateDrop:proposedRow:column:dropOperation:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nsbrowserdelegate/browser(_:validatedrop:proposedrow:column:dropoperation:)"
---

# browser(_:validateDrop:proposedRow:column:dropOperation:)

Sent to the delegate during a dragging session to determine whether a drop should be accepted and to obtain the drop location. This method is required for a browser to be a drag destination.

## Declaration

```swift
@MainActor optional func browser(_ browser: NSBrowser, validateDrop info: any NSDraggingInfo, proposedRow row: UnsafeMutablePointer<Int>, column: UnsafeMutablePointer<Int>, dropOperation: UnsafeMutablePointer<NSBrowser.DropOperation>) -> NSDragOperation
```

## Parameters

- `browser`: The browser.
- `info`: The drag session information.
- `row`: On input, the proposed drop row. On output, the drop row.
- `column`: On input, the proposed drop column. On output, the drop column.
- `dropOperation`: On input, the proposed drop location. On output, the drop location.

## Return Value

Return Value The drag operation that the data source is to perform. For the browser to accept the drop, it must not be NSDragOperationNone.

## Discussion

Discussion The browser proposes a drop column, row, and row-relative location for the drop based on the pointer position, as shown in this table:  |   |   |  These are a few examples of how to specify a drop location:  |  |   |  |   |  |   |  |   |  |

## See Also

### Related Documentation

- [registerForDraggedTypes(_:)](appkit/nsview/registerfordraggedtypes(_:).md)

### Dragging

- [browser(_:canDragRowsWith:inColumn:with:)](appkit/nsbrowserdelegate/browser(_:candragrowswith:incolumn:with:).md)
- [browser(_:draggingImageForRowsWith:inColumn:with:offset:)](appkit/nsbrowserdelegate/browser(_:draggingimageforrowswith:incolumn:with:offset:).md)
- [browser(_:acceptDrop:atRow:column:dropOperation:)](appkit/nsbrowserdelegate/browser(_:acceptdrop:atrow:column:dropoperation:).md)
- [browser(_:writeRowsWith:inColumn:to:)](appkit/nsbrowserdelegate/browser(_:writerowswith:incolumn:to:).md)
- [browser(_:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWith:inColumn:)](appkit/nsbrowserdelegate/browser(_:namesofpromisedfilesdroppedatdestination:fordraggedrowswith:incolumn:).md)
