---
title: CKSyncEngine.Event
framework: cloudkit
role: symbol
role_heading: Enumeration
path: cloudkit/cksyncengine-5sie5/event
---

# CKSyncEngine.Event

Describes an event that occurs during a sync operation.

## Declaration

```swift
enum Event
```

## Overview

Overview While syncing, CKSyncEngine posts several different types of events. Each event has an associated struct value with details describing the nature of the event. See the documentation for each event struct for more details about when and why an event is posted. important: You don’t create instances of this type manually. Instead, the sync engine provides them to your app’s delegate during sync operations.

## Topics

### Account changes

- [CKSyncEngine.Event.accountChange(_:)](cloudkit/cksyncengine-5sie5/event/accountchange(_:).md)
- [CKSyncEngine.Event.AccountChange](cloudkit/cksyncengine-5sie5/event/accountchange.md)

### Remote database changes

- [CKSyncEngine.Event.willFetchChanges(_:)](cloudkit/cksyncengine-5sie5/event/willfetchchanges(_:).md)
- [CKSyncEngine.Event.WillFetchChanges](cloudkit/cksyncengine-5sie5/event/willfetchchanges.md)
- [CKSyncEngine.Event.fetchedDatabaseChanges(_:)](cloudkit/cksyncengine-5sie5/event/fetcheddatabasechanges(_:).md)
- [CKSyncEngine.Event.FetchedDatabaseChanges](cloudkit/cksyncengine-5sie5/event/fetcheddatabasechanges.md)
- [CKSyncEngine.Event.didFetchChanges(_:)](cloudkit/cksyncengine-5sie5/event/didfetchchanges(_:).md)
- [CKSyncEngine.Event.DidFetchChanges](cloudkit/cksyncengine-5sie5/event/didfetchchanges.md)

### Remote record zone changes

- [CKSyncEngine.Event.willFetchRecordZoneChanges(_:)](cloudkit/cksyncengine-5sie5/event/willfetchrecordzonechanges(_:).md)
- [CKSyncEngine.Event.WillFetchRecordZoneChanges](cloudkit/cksyncengine-5sie5/event/willfetchrecordzonechanges.md)
- [CKSyncEngine.Event.fetchedRecordZoneChanges(_:)](cloudkit/cksyncengine-5sie5/event/fetchedrecordzonechanges(_:).md)
- [CKSyncEngine.Event.FetchedRecordZoneChanges](cloudkit/cksyncengine-5sie5/event/fetchedrecordzonechanges.md)
- [CKSyncEngine.Event.didFetchRecordZoneChanges(_:)](cloudkit/cksyncengine-5sie5/event/didfetchrecordzonechanges(_:).md)
- [CKSyncEngine.Event.DidFetchRecordZoneChanges](cloudkit/cksyncengine-5sie5/event/didfetchrecordzonechanges.md)

### Pending local changes

- [CKSyncEngine.Event.willSendChanges(_:)](cloudkit/cksyncengine-5sie5/event/willsendchanges(_:).md)
- [CKSyncEngine.Event.WillSendChanges](cloudkit/cksyncengine-5sie5/event/willsendchanges.md)
- [CKSyncEngine.Event.sentDatabaseChanges(_:)](cloudkit/cksyncengine-5sie5/event/sentdatabasechanges(_:).md)
- [CKSyncEngine.Event.SentDatabaseChanges](cloudkit/cksyncengine-5sie5/event/sentdatabasechanges.md)
- [CKSyncEngine.Event.sentRecordZoneChanges(_:)](cloudkit/cksyncengine-5sie5/event/sentrecordzonechanges(_:).md)
- [CKSyncEngine.Event.SentRecordZoneChanges](cloudkit/cksyncengine-5sie5/event/sentrecordzonechanges.md)
- [CKSyncEngine.Event.didSendChanges(_:)](cloudkit/cksyncengine-5sie5/event/didsendchanges(_:).md)
- [CKSyncEngine.Event.DidSendChanges](cloudkit/cksyncengine-5sie5/event/didsendchanges.md)

### State updates

- [CKSyncEngine.Event.stateUpdate(_:)](cloudkit/cksyncengine-5sie5/event/stateupdate(_:).md)
- [CKSyncEngine.Event.StateUpdate](cloudkit/cksyncengine-5sie5/event/stateupdate.md)

### Debugging the event

- [description](cloudkit/cksyncengine-5sie5/event/description.md)

### Default Implementations

- [CustomStringConvertible Implementations](cloudkit/cksyncengine-5sie5/event/customstringconvertible-implementations.md)

## Relationships

### Conforms To

- [Copyable](swift/copyable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Escapable](swift/escapable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Handling sync events

- [handleEvent(_:syncEngine:)](cloudkit/cksyncenginedelegate-1q7g8/handleevent(_:syncengine:).md)
- [CKSyncEngineEventType](cloudkit/cksyncengineeventtype.md)
