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

# CKSyncEngine.Event.WillFetchChanges

The sync engine is about to fetch changes from the server.

## Declaration

```swift
struct WillFetchChanges
```

## Overview

Overview The sync engine delivers the changes themselves via CKSyncEngine.Event.FetchedDatabaseChanges and CKSyncEngine.Event.FetchedRecordZoneChanges. Note that this event might not always occur every time you call fetchChanges(_:). For example, if you call fetchChanges(_:) concurrently while the engine is already fetching changes, this event might not be sent. Similarly, if there’s no logged-in account, the engine might short-circuit the call to fetchChanges(_:), and this event won’t be sent.

## Topics

### Debugging the event

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

### Instance Properties

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

### Default Implementations

- [CustomStringConvertible Implementations](cloudkit/cksyncengine-5sie5/event/willfetchchanges/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

### Remote database changes

- [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)
