---
title: IntentItemCollection
framework: appintents
role: symbol
role_heading: Structure
path: appintents/intentitemcollection
---

# IntentItemCollection

Return this object to provide an advanced list of options, optionally divided in sections.

## Declaration

```swift
struct IntentItemCollection<Result> where Result : _IntentValue
```

## Example

Example struct CreateBookIntent: AppIntent {     @Parameter(title: "Author Name", optionsProvider: AuthorNamesOptionsProvider())     var authorName: String

struct AuthorNamesOptionsProvider: DynamicOptionsProvider {         func results() async throws -> ItemCollection<Int> {             ItemCollection {                 ItemSection("Italian Authors") {                     "Dante Alighieri"                     "Alessandro Manzoni"                 }                 ItemSection("Russian Authors") {                     "Anton Chekhov"                     "Fyodor Dostoevsky"                 }             }         }     } }

## Topics

### Initializers

- [init(promptLabel:usesIndexedCollation:items:)](appintents/intentitemcollection/init(promptlabel:usesindexedcollation:items:).md)
- [init(promptLabel:usesIndexedCollation:sections:)](appintents/intentitemcollection/init(promptlabel:usesindexedcollation:sections:).md)
- [init(promptLabel:usesIndexedCollation:sectionsBuilder:)](appintents/intentitemcollection/init(promptlabel:usesindexedcollation:sectionsbuilder:).md)

### Instance Properties

- [items](appintents/intentitemcollection/items.md)
- [sections](appintents/intentitemcollection/sections.md)

### Type Properties

- [empty](appintents/intentitemcollection/empty.md)

## Relationships

### Conforms To

- [ResultsCollection](appintents/resultscollection.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Items and collections

- [IntentItem](appintents/intentitem.md)
- [IntentItemSection](appintents/intentitemsection.md)
- [IntentCollectionSize](appintents/intentcollectionsize.md)
- [IntentResponseStream](appintents/intentresponsestream.md)
