---
title: UIUpdateActionPhase
framework: uikit
role: symbol
role_heading: Class
path: uikit/uiupdateactionphase
---

# UIUpdateActionPhase

An object that defines specific phases of the UI update process.

## Declaration

```swift
@MainActor class UIUpdateActionPhase
```

## Overview

Overview Each UI update consists of several phases that run in a consistent order, and the UIUpdateActionPhase object defines constants that represent these phases. When using a UIUpdateLink, you can use these constants to decide which phase of the UI update process you want its actions to run in. There are two phase groups: standard and low-latency. The standard phase group runs for each UI update. This phase group includes these phases, which run in the following order: beforeEventDispatch afterEventDispatch beforeCADisplayLinkDispatch afterCADisplayLinkDispatch beforeCATransactionCommit afterCATransactionCommit The low-latency phase group is optional, and it’s off by default. It runs only if you explicitly request low-latency event dispatch using wantsLowLatencyEventDispatch. The low-latency phase group includes these phases, which run in the following order (after the standard phases): beforeLowLatencyEventDispatch afterLowLatencyEventDispatch beforeLowLatencyCATransactionCommit afterLowLatencyCATransactionCommit When a phase group runs, all phases inside the group run. Phases run one after another in the specified order without exiting back into the run loop.

## Topics

### Phases

- [afterUpdateScheduled](uikit/uiupdateactionphase/afterupdatescheduled.md)
- [beforeEventDispatch](uikit/uiupdateactionphase/beforeeventdispatch.md)
- [afterEventDispatch](uikit/uiupdateactionphase/aftereventdispatch.md)
- [beforeCADisplayLinkDispatch](uikit/uiupdateactionphase/beforecadisplaylinkdispatch.md)
- [afterCADisplayLinkDispatch](uikit/uiupdateactionphase/aftercadisplaylinkdispatch.md)
- [beforeCATransactionCommit](uikit/uiupdateactionphase/beforecatransactioncommit.md)
- [afterCATransactionCommit](uikit/uiupdateactionphase/aftercatransactioncommit.md)
- [beforeLowLatencyEventDispatch](uikit/uiupdateactionphase/beforelowlatencyeventdispatch.md)
- [afterLowLatencyEventDispatch](uikit/uiupdateactionphase/afterlowlatencyeventdispatch.md)
- [beforeLowLatencyCATransactionCommit](uikit/uiupdateactionphase/beforelowlatencycatransactioncommit.md)
- [afterLowLatencyCATransactionCommit](uikit/uiupdateactionphase/afterlowlatencycatransactioncommit.md)
- [afterUpdateComplete](uikit/uiupdateactionphase/afterupdatecomplete.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)

## See Also

### UI updates

- [UIUpdateLink](uikit/uiupdatelink.md)
- [UIUpdateInfo](uikit/uiupdateinfo.md)
