---
title: AppEnum
framework: appintents
role: symbol
role_heading: Protocol
path: appintents/appenum
---

# AppEnum

An interface to express that a custom type has a predefined, static set of valid values to display.

## Declaration

```swift
protocol AppEnum : AppValue, StaticDisplayRepresentable, RawRepresentable where Self.RawValue : LosslessStringConvertible
```

## Mentioned in

Adding parameters to an app intent Defining app entities for your custom data types Responding to the Action button on Apple Watch Ultra Getting started with the App Intents framework

## Overview

Overview Adopt the AppEnum protocol in a type that has a known set of valid values. You might use this protocol to specify that a variable of one of your intents has a fixed set of possible values. For example, you might use a variable to specify whether to navigate to the next or previous track in a music playlist. Because this type conforms to the StaticDisplayRepresentable protocol, provide a string-based representation of your type’s values in your implementation. For example, provide descriptions for each case of an enum type in the inherited caseDisplayRepresentations property.

## Topics

### Resolving the type

- [defaultResolverSpecification](appintents/appenum/defaultresolverspecification.md)

### URL representation

- [EnumURLRepresentation](appintents/enumurlrepresentation.md)

## Relationships

### Inherits From

- [AppValue](appintents/appvalue.md)
- [CaseDisplayRepresentable](appintents/casedisplayrepresentable.md)
- [CaseIterable](swift/caseiterable.md)
- [CustomLocalizedStringResourceConvertible](foundation/customlocalizedstringresourceconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [PersistentlyIdentifiable](appintents/persistentlyidentifiable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)
- [StaticDisplayRepresentable](appintents/staticdisplayrepresentable.md)
- [TypeDisplayRepresentable](appintents/typedisplayrepresentable.md)

### Inherited By

- [AppUnionValueCasesProviding](appintents/appunionvaluecasesproviding.md)
- [AssistantEnum](appintents/assistantenum.md)
- [AssistantSchemaEnum](appintents/assistantschemaenum.md)
- [URLRepresentableEnum](appintents/urlrepresentableenum.md)

### Conforming Types

- [StringSearchScope](appintents/stringsearchscope.md)
- [VideoCategory](appintents/videocategory.md)
