---
title: CPListSection
framework: carplay
role: symbol
role_heading: Class
path: carplay/cplistsection
---

# CPListSection

A container that groups your list items into sections.

## Declaration

```swift
class CPListSection
```

## Overview

Overview A section contains zero or more list items. You can configure a section to display a header and a section index title, which CarPlay displays on the trailing edge of the screen. The section header and the section index title are optional. To create a section, call the initWithItems: method and provide an array of list items. Alternatively, use initWithItems:header:sectionIndexTitle: if you want to display a header and a section index title. CarPlay doesn’t support custom list items, so you must use one of the types that the framework provides, such as CPListItem or CPListImageRowItem. At runtime, use maximumSectionCount to determine the maximum number of sections that your list can display. When creating items for your sections, use maximumItemCount to establish the maximum number of items across all sections that can appear in your list.

## Topics

### Creating a Section

- [init(items:header:headerSubtitle:headerImage:headerButton:sectionIndexTitle:)](carplay/cplistsection/init(items:header:headersubtitle:headerimage:headerbutton:sectionindextitle:).md)
- [CPListTemplateItem](carplay/cplisttemplateitem.md)
- [CPSelectableListItem](carplay/cpselectablelistitem.md)
- [CPListItem](carplay/cplistitem.md)
- [CPListImageRowItem](carplay/cplistimagerowitem.md)
- [CPMessageListItem](carplay/cpmessagelistitem.md)

### Getting Supplementary Information

- [header](carplay/cplistsection/header.md)
- [sectionIndexTitle](carplay/cplistsection/sectionindextitle.md)

### Getting Items

- [items](carplay/cplistsection/items.md)
- [index(of:)](carplay/cplistsection/index(of:).md)
- [item(at:)](carplay/cplistsection/item(at:).md)

### Configuring Section Headers

- [headerButton](carplay/cplistsection/headerbutton.md)
- [headerImage](carplay/cplistsection/headerimage.md)
- [headerSubtitle](carplay/cplistsection/headersubtitle.md)

### Initializers

- [init(items:)](carplay/cplistsection/init(items:)-32d0q.md)
- [init(items:header:sectionIndexTitle:)](carplay/cplistsection/init(items:header:sectionindextitle:)-743we.md)
- [init(coder:)](carplay/cplistsection/init(coder:).md)
- [init(items:)](carplay/cplistsection/init(items:)-6ksy3.md)
- [init(items:header:sectionIndexTitle:)](carplay/cplistsection/init(items:header:sectionindextitle:)-6xewg.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Managing Sections

- [maximumSectionCount](carplay/cplisttemplate/maximumsectioncount.md)
- [sectionCount](carplay/cplisttemplate/sectioncount.md)
- [sections](carplay/cplisttemplate/sections.md)
- [updateSections(_:)](carplay/cplisttemplate/updatesections(_:).md)
