<!--
{
  "availability" : [
    "iOS: 27.2.0 -",
    "iPadOS: 27.2.0 -",
    "macCatalyst: 27.2.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "HomeExtensions",
  "identifier" : "/documentation/HomeExtensions/HomeAccessoryEnumSetting",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "HomeExtensions"
    ],
    "preciseIdentifier" : "s:14HomeExtensions0A20AccessoryEnumSettingC"
  },
  "title" : "HomeAccessoryEnumSetting"
}
-->

# HomeAccessoryEnumSetting

A setting that offers a choice among several options.

```
@propertyWrapper final class HomeAccessoryEnumSetting<Value> where Value : HomeAccessoryEnumSettingConstant
```

## Overview

Define the options with a type that adopts [`HomeAccessoryEnumSettingConstant`](/documentation/HomeExtensions/HomeAccessoryEnumSettingConstant), and specify how they appear with [`HomeAccessoryEnumSetting.SelectionStyle`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/SelectionStyle).

## Topics

### Creating an enumeration setting

[`init(id: String, label: HomeAccessorySettingLabel, isEnabled: Bool, defaultValue: Value?, currentValue: Value?, style: HomeAccessoryEnumSetting<Value>.SelectionStyle)`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/init(id:label:isEnabled:defaultValue:currentValue:style:))

Creates an enumeration setting.

[`enum SelectionStyle`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/SelectionStyle)

Styles for presenting an enumeration setting’s options.

### Configuring presentation

[`var label: HomeAccessorySettingLabel`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/label)

The label to display for this setting.

[`var isEnabled: Bool`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/isEnabled)

A Boolean value that indicates whether people can change the setting.

[`var isHidden: Bool`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/isHidden)

A Boolean value that indicates whether the setting is hidden.

### Accessing the selection

[`var wrappedValue: Value?`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/wrappedValue)

The selected option, or the default option if nothing is selected.

[`var selectedValues: Set<Value>?`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/selectedValues)

The selected options, for a setting that supports multiple selection.

[`var projectedValue: HomeAccessoryEnumSetting<Value>`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/projectedValue)

The setting itself, which you access with a dollar sign prefix.

### Instance Properties

[`let id: String`](/documentation/HomeExtensions/HomeAccessoryEnumSetting/id)

A unique identifier for the setting.

## Relationships

### Conforms To

[`HomeAccessorySetting`](/documentation/HomeExtensions/HomeAccessorySetting)

[`Identifiable`](/documentation/Swift/Identifiable)

---

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)