---
title: "requestChoice(between:dialog:view:)"
framework: appintents
role: symbol
role_heading: Instance Method
path: "appintents/appintent/requestchoice(between:dialog:view:)"
---

# requestChoice(between:dialog:view:)

Pauses the app intent, asks the person to choose from the specified options, and provides a view with additional data.

## Declaration

```swift
func requestChoice<Content>(between options: [IntentChoiceOption], dialog: IntentDialog? = nil, view: Content) async throws -> IntentChoiceOption where Content : View
```

## Parameters

- `options`: The options to choose from. The prompt displays the options in the same order as they appear in the array, with one exception. If the list includes the doc://com.apple.AppIntents/documentation/AppIntents/IntentChoiceOption/cancel option, the system places that option according to the platform’s conventions.
- `dialog`: The localized text you want the system to display or speak. Provide instructional text or a question to help the person choose an option.
- `view`: A SwiftUI view that provides additional information about the choices. For example, use this view to show a preview of the data to help someone make a decision.

## Return Value

Return Value The option the person chose.

## Discussion

Discussion note: An error if the person chooses a cancel option from the interface. Call this method from the perform() method of your app intent when you need someone to confirm an action, disambiguate from a set of possibilities, or select an intent-specific behavior before proceeding. The system displays a standard interface with the provided set of options and asks the person to choose one. When someone makes a selection, the method returns the option and your app intent continues to run. This method throws an error if someone cancels the request using a cancel button, a cancel option, or a system-provided gesture.

## See Also

### Requesting more information

- [requestChoice(between:dialog:)](appintents/appintent/requestchoice(between:dialog:).md)
- [requestChoice(between:dialog:content:)](appintents/appintent/requestchoice(between:dialog:content:).md)
