---
title: PreferenceKey
framework: swiftui
role: symbol
role_heading: Protocol
path: swiftui/preferencekey
---

# PreferenceKey

A named value produced by a view.

## Declaration

```swift
protocol PreferenceKey
```

## Overview

Overview A view with multiple children automatically combines its values for a given preference into a single value visible to its ancestors.

## Topics

### Getting the default value

- [defaultValue](swiftui/preferencekey/defaultvalue.md)
- [Value](swiftui/preferencekey/value.md)

### Combining preferences

- [reduce(value:nextValue:)](swiftui/preferencekey/reduce(value:nextvalue:).md)

## Relationships

### Conforming Types

- [PreferredColorSchemeKey](swiftui/preferredcolorschemekey.md)
- [Text.LayoutKey](swiftui/text/layoutkey.md)
