<!--
{
  "availability" : [
    "macOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AppKit",
  "identifier" : "/documentation/AppKit/NSOutlineViewDelegate/outlineView(_:shouldCollapseItem:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AppKit"
    ],
    "preciseIdentifier" : "c:objc(pl)NSOutlineViewDelegate(im)outlineView:shouldCollapseItem:"
  },
  "title" : "outlineView(_:shouldCollapseItem:)"
}
-->

# outlineView(_:shouldCollapseItem:)

Returns a Boolean value that indicates whether the outline view should collapse a given item.

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

## Parameters

`outlineView`

The outline view that sent the message.

`item`

The item that should collapse.

## Return Value

<doc://com.apple.documentation/documentation/Swift/true> to permit `outlineView` to collapse `item`, <doc://com.apple.documentation/documentation/Swift/false> to deny permission.

## Discussion

The delegate can implement this method to disallow collapsing of specific items. For example, if the first row of your outline view should not be collapsed, your delegate method could contain this line of code:

```objc
return [outlineView rowForItem:item]!=0;
```

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)