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

# outlineView(_:sortDescriptorsDidChange:)

Invoked by an outline view to notify the data source that the descriptors changed and the data may need to be resorted.

## Declaration

```swift
@MainActor optional func outlineView(_ outlineView: NSOutlineView, sortDescriptorsDidChange oldDescriptors: [NSSortDescriptor])
```

## Parameters

- `outlineView`: The outline view that sent the message.
- `oldDescriptors`: An array that contains the previous descriptors.

## Discussion

Discussion The data source typically sorts and reloads the data, and adjusts the selections accordingly. If you need to know the current sort descriptors and the data source does not itself manage them, you can get outlineView’s current sort descriptors by sending it a sortDescriptors message.

## 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(_:persistentObjectForItem:)](appkit/nsoutlineviewdatasource/outlineview(_:persistentobjectforitem:).md)
- [outlineView(_:setObjectValue:for:byItem:)](appkit/nsoutlineviewdatasource/outlineview(_:setobjectvalue:for:byitem:).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)
