---
title: ContactItemSyncAnchor
framework: ContactProvider
role: symbol
role_heading: Structure
platforms: [iOS 18.0+, iPadOS 18.0+]
path: contactprovider/contactitemsyncanchor
---

# ContactItemSyncAnchor

A snapshot point into enumerating changed contact items.

## Declaration

```swift
struct ContactItemSyncAnchor
```

## Overview

Overview You can break an enumeration of changes into batches with multiple anchors to reduce the memory constraints on the system. During enumeration, you may update the generationMarker and offset to reflect progress enumerating the changes as they occurred, possibly across mutiple database generations and how many changes occurred within each database generation.

## Topics

### Creating a sync anchor

- [init(generationMarker:offset:)](contactprovider/contactitemsyncanchor/init(generationmarker:offset:).md)

### Inspecting sync anchor properties

- [generationMarker](contactprovider/contactitemsyncanchor/generationmarker.md)
- [offset](contactprovider/contactitemsyncanchor/offset.md)

## Relationships

### Conforms To

- [Decodable](swift/decodable.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)

## See Also

### Ending enumeration

- [didFinishEnumeratingChanges(upTo:moreComing:)](contactprovider/contactitemchangeobserver/didfinishenumeratingchanges(upto:morecoming:).md)
- [didFinishEnumeratingChangesWithError(_:)](contactprovider/contactitemchangeobserver/didfinishenumeratingchangeswitherror(_:).md)
