---
title: CNContactFetchRequest
framework: contacts
role: symbol
role_heading: Class
path: contacts/cncontactfetchrequest
---

# CNContactFetchRequest

An object that defines the options to use when fetching contacts.

## Declaration

```swift
class CNContactFetchRequest
```

## Overview

Overview You need at least one contact property key to fetch a contact’s properties. Use this class with the enumerateContacts(with:usingBlock:) method to execute the contact fetch request.

## Topics

### Creating a Fetch Request

- [init(keysToFetch:)](contacts/cncontactfetchrequest/init(keystofetch:).md)
- [CNKeyDescriptor](contacts/cnkeydescriptor.md)

### Specifying the Search Predicate

- [predicate](contacts/cncontactfetchrequest/predicate.md)

### Configuring the Fetch Options

- [mutableObjects](contacts/cncontactfetchrequest/mutableobjects.md)
- [unifyResults](contacts/cncontactfetchrequest/unifyresults.md)
- [sortOrder](contacts/cncontactfetchrequest/sortorder.md)
- [CNContactSortOrder](contacts/cncontactsortorder.md)

### Specifying the Keys to Fetch

- [keysToFetch](contacts/cncontactfetchrequest/keystofetch.md)

### Initializers

- [init(coder:)](contacts/cncontactfetchrequest/init(coder:).md)

## Relationships

### Inherits From

- [CNFetchRequest](contacts/cnfetchrequest.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Fetch and save requests

- [CNFetchRequest](contacts/cnfetchrequest.md)
- [CNFetchResult](contacts/cnfetchresult.md)
- [CNSaveRequest](contacts/cnsaverequest.md)
