---
title: "didFinishEnumeratingChanges(upTo:moreComing:)"
framework: ContactProvider
role: symbol
role_heading: Instance Method
platforms: [iOS 18.0+, iPadOS 18.0+]
path: "contactprovider/contactitemchangeobserver/didfinishenumeratingchanges(upto:morecoming:)"
---

# didFinishEnumeratingChanges(upTo:moreComing:)

Marks a sync anchor of changed contact items as completed.

## Declaration

```swift
func didFinishEnumeratingChanges(upTo syncAnchor: ContactItemSyncAnchor, moreComing: Bool)
```

## Parameters

- `syncAnchor`: The ContactItemSyncAnchor where the next change enumeration should start from.
- `moreComing`: If true, the enumerator receives another call to doc://com.apple.ContactProvider/documentation/ContactProvider/ContactItemEnumerator/enumerateChanges(startingAt:for:).

## Discussion

Discussion A change enumeration can resume in the future, continuing from this sync anchor. Calling this method saves the current batch of changed items to the system Contacts database.

## See Also

### Ending enumeration

- [ContactItemSyncAnchor](contactprovider/contactitemsyncanchor.md)
- [didFinishEnumeratingChangesWithError(_:)](contactprovider/contactitemchangeobserver/didfinishenumeratingchangeswitherror(_:).md)
