CNContact class is a thread-safe class that can fetch and save contacts, groups, and containers.
- iOS 9.0+
- macOS 10.11+
- watchOS 2.0+
CNContact class provides ways to execute fetch and save requests. There are a few recommended ways you can implement these requests in your app to load contacts:
Fetch only the contact properties that will be used.
When fetching all contacts and caching the results, first fetch all contacts identifiers, then fetch batches of detailed contacts by identifiers as required.
To aggregate several contacts fetches, first collect a set of unique identifiers from the fetches. Then fetch batches of detailed contacts by those unique identifiers.
If you cache the fetched contacts, groups, or containers, you need to refetch these objects (and release the old cached objects) when
Store Did Change Notification
CNContact fetch methods perform I/O, it’s recommended that you avoid using the main thread to execute fetches.