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

# outlineView(_:persistentObjectForItem:)

Invoked by outlineView to return an archived object for item.

## Declaration

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

## Parameters

- `outlineView`: The outline view that sent the message.
- `item`: The item for which to return an archived object.

## Return Value

Return Value An archived representation of item. If the item is an archived object, this method may return the item.

## Discussion

Discussion When the outline view is saving the expanded items, this method is called for each expanded item, to translate the outline view item to an archived object. Special Considerations You must implement this method if you are automatically saving expanded items (that is, if autosaveExpandedItems returns true).

## 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(_:pasteboardWriterForItem:)](appkit/nsoutlineviewdatasource/outlineview(_:pasteboardwriterforitem:).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)
