---
title: FocusedValueKey
framework: swiftui
role: symbol
role_heading: Protocol
path: swiftui/focusedvaluekey
---

# FocusedValueKey

A protocol for identifier types used when publishing and observing focused values.

## Declaration

```swift
protocol FocusedValueKey
```

## Overview

Overview Unlike EnvironmentKey, FocusedValueKey has no default value requirement, because the default value for a key is always nil. Use the Entry macro to create custom focused values by extending FocusedValues with new properties: extension FocusedValues {     @Entry var selectedItem: Item? } Alternatively it is possible to create a focused value key by manually creating a type that conforms to this protocol: struct SelectedItemKey: FocusedValueKey {     typealias Value = Item } Then extend FocusedValues to add a computed property for your key: extension FocusedValues {     var selectedItem: Item? {         get { self[SelectedItemKey.self] }         set { self[SelectedItemKey.self] = newValue }     } }

## Topics

### Specifying the value type

- [Value](swiftui/focusedvaluekey/value.md)

## See Also

### Managing focus state

- [focused(_:equals:)](swiftui/view/focused(_:equals:).md)
- [focused(_:)](swiftui/view/focused(_:).md)
- [isFocused](swiftui/environmentvalues/isfocused.md)
- [FocusState](swiftui/focusstate.md)
- [FocusedValue](swiftui/focusedvalue.md)
- [Entry()](swiftui/entry().md)
- [FocusedBinding](swiftui/focusedbinding.md)
- [searchFocused(_:)](swiftui/view/searchfocused(_:).md)
- [searchFocused(_:equals:)](swiftui/view/searchfocused(_:equals:).md)
