<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ContactProvider",
  "identifier" : "/documentation/ContactProvider/ContactItemEnumerating",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "ContactProvider"
    ],
    "preciseIdentifier" : "s:15ContactProvider0A15ItemEnumeratingP"
  },
  "title" : "ContactItemEnumerating"
}
-->

# ContactItemEnumerating

A protocol to provide enumerators for collections of contact items.

```
protocol ContactItemEnumerating
```

## Overview

You typically implement this protocol in your app extension, since [`ContactProviderExtension`](/documentation/ContactProvider/ContactProviderExtension) inherits this protocol.

## Topics

### Providing an enumeration

[`func enumerator(for: ContactItem.Identifier) -> any ContactItemEnumerator`](/documentation/ContactProvider/ContactItemEnumerating/enumerator(for:))

Provide an enumerator for the contact items collection.

[`struct Identifier`](/documentation/ContactProvider/ContactItem/Identifier)

The app’s identifier for an item in the contact database.

[`protocol ContactItemEnumerator`](/documentation/ContactProvider/ContactItemEnumerator)

A protocol to provide enumerations of all contact items and changed contact items.

## Relationships

### Inherited By

[`ContactProviderExtension`](/documentation/ContactProvider/ContactProviderExtension)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)