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

# outlineView(_:isItemExpandable:)

Returns a Boolean value that indicates whether the a given item is expandable.

## Declaration

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

## Parameters

- `outlineView`: The outline view that sent the message.
- `item`: An item in the data source.

## Return Value

Return Value true if item can be expanded to display its children, otherwise false.

## Discussion

Discussion This method may be called quite often, so it must be efficient. important: While this method is marked as @optional in the protocol, you must implement this method if you are not providing the data for the outline view using Cocoa bindings. Do not call reloadData() from this method.

## 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(_: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(_: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)
