---
title: "outlineView(_:pasteboardWriterForItem:)"
framework: appkit
role: symbol
role_heading: Instance Method
path: "appkit/nsoutlineviewdatasource/outlineview(_:pasteboardwriterforitem:)"
---

# outlineView(_:pasteboardWriterForItem:)

Implement this method to enable the table to be an NSDraggingSource that supports dragging multiple items.

## Declaration

```swift
@MainActor optional func outlineView(_ outlineView: NSOutlineView, pasteboardWriterForItem item: Any) -> (any NSPasteboardWriting)?
```

## Parameters

- `outlineView`: The outline view in which the drag begins.
- `item`: The item for which to return a pasteboard writer.

## Return Value

Return Value A custom object that implements NSPasteboardWriting protocol (or simply use NSPasteboardItem).

## Discussion

Discussion If this method is implemented, then outlineView(_:writeItems:to:) is not called.

## See Also

### Instance Methods

- [outlineView(_:acceptDrop:item:childIndex:)](appkit/nsoutlineviewdatasource/outlineview(_:acceptdrop:item:childindex:).md)
- [outlineView(_:child:ofItem:)](appkit/nsoutlineviewdatasource/outlineview(_:child:ofitem:).md)
- [outlineView(_:draggingSession:endedAt:operation:)](appkit/nsoutlineviewdatasource/outlineview(_:draggingsession:endedat:operation:).md)
- [outlineView(_:draggingSession:willBeginAt:forItems:)](appkit/nsoutlineviewdatasource/outlineview(_:draggingsession:willbeginat:foritems:).md)
- [outlineView(_:isItemExpandable:)](appkit/nsoutlineviewdatasource/outlineview(_:isitemexpandable:).md)
- [outlineView(_:itemForPersistentObject:)](appkit/nsoutlineviewdatasource/outlineview(_:itemforpersistentobject:).md)
- [outlineView(_:namesOfPromisedFilesDroppedAtDestination:forDraggedItems:)](appkit/nsoutlineviewdatasource/outlineview(_:namesofpromisedfilesdroppedatdestination:fordraggeditems:).md)
- [outlineView(_:numberOfChildrenOfItem:)](appkit/nsoutlineviewdatasource/outlineview(_:numberofchildrenofitem:).md)
- [outlineView(_:objectValueFor:byItem:)](appkit/nsoutlineviewdatasource/outlineview(_:objectvaluefor:byitem:).md)
- [outlineView(_:persistentObjectForItem:)](appkit/nsoutlineviewdatasource/outlineview(_:persistentobjectforitem:).md)
- [outlineView(_:setObjectValue:for:byItem:)](appkit/nsoutlineviewdatasource/outlineview(_:setobjectvalue:for:byitem:).md)
- [outlineView(_:sortDescriptorsDidChange:)](appkit/nsoutlineviewdatasource/outlineview(_:sortdescriptorsdidchange:).md)
- [outlineView(_:updateDraggingItemsForDrag:)](appkit/nsoutlineviewdatasource/outlineview(_:updatedraggingitemsfordrag:).md)
- [outlineView(_:validateDrop:proposedItem:proposedChildIndex:)](appkit/nsoutlineviewdatasource/outlineview(_:validatedrop:proposeditem:proposedchildindex:).md)
- [outlineView(_:writeItems:to:)](appkit/nsoutlineviewdatasource/outlineview(_:writeitems:to:).md)
