tableView(_:validateDrop:proposedRow:proposedDropOperation:)
Used by aTableView to determine a valid drop target.
Declaration
@MainActor optional func tableView(_ tableView: NSTableView, validateDrop info: any NSDraggingInfo, proposedRow row: Int, proposedDropOperation dropOperation: NSTableView.DropOperation) -> NSDragOperationParameters
- tableView:
The table view that sent the message.
- info:
An object that contains more information about this dragging operation.
- row:
The index of the proposed target row.
- dropOperation:
The type of dragging operation proposed.
Return Value
The dragging operation the data source will perform.
Discussion
The data source may retarget a drop by calling setDropRow(_:dropOperation:) and returning something other than NSDragOperationNone. A data source might retarget for various reasons, such as to provide better visual feedback when inserting into a sorted position.
To propose a drop on the second row, row would be 2 and operation would be NSTableViewDropOn. To propose a drop below the last row, row would be [aTableView numberOfRows] and operation would be NSTableViewDropAbove.
See Also
Drag and Drop
Supporting Table View Drag and Drop Through File PromisestableView(_:acceptDrop:row:dropOperation:)tableView(_:namesOfPromisedFilesDroppedAtDestination:forDraggedRowsWith:)tableView(_:writeRowsWith:to:)tableView(_:draggingSession:willBeginAt:forRowIndexes:)tableView(_:updateDraggingItemsForDrag:)tableView(_:draggingSession:endedAt:operation:)