---
title: CNMutableContact
framework: contacts
role: symbol
role_heading: Class
path: contacts/cnmutablecontact
---

# CNMutableContact

A mutable object that stores information about a single contact, such as the contact’s first name, phone numbers, and addresses.

## Declaration

```swift
class CNMutableContact
```

## Overview

Overview CNMutableContact objects are not a thread-safe class. To access the contact information in a thread-safe manner, use a CNContact object instead. You may modify only those properties whose values you fetched from the contacts database. When fetching a contact, you specify which properties you want to retrieve from the database. The contact store then populates the properties of a CNContact object with those values. After creating a mutable copy of that object, you can modify only those properties for which a value exists. If you attempt to access a property that is not available, the CNMutableContact object throws a CNContactPropertyNotFetchedExceptionName exception. To remove the value for a property, set string and array properties to empty, and set all other properties to nil.

## Topics

### Setting the Identity of the Contact

- [contactType](contacts/cnmutablecontact/contacttype.md)

### Setting Name Information

- [namePrefix](contacts/cnmutablecontact/nameprefix.md)
- [givenName](contacts/cnmutablecontact/givenname.md)
- [middleName](contacts/cnmutablecontact/middlename.md)
- [familyName](contacts/cnmutablecontact/familyname.md)
- [previousFamilyName](contacts/cnmutablecontact/previousfamilyname.md)
- [nameSuffix](contacts/cnmutablecontact/namesuffix.md)
- [nickname](contacts/cnmutablecontact/nickname.md)
- [phoneticGivenName](contacts/cnmutablecontact/phoneticgivenname.md)
- [phoneticMiddleName](contacts/cnmutablecontact/phoneticmiddlename.md)
- [phoneticFamilyName](contacts/cnmutablecontact/phoneticfamilyname.md)

### Setting Work Information

- [jobTitle](contacts/cnmutablecontact/jobtitle.md)
- [departmentName](contacts/cnmutablecontact/departmentname.md)
- [organizationName](contacts/cnmutablecontact/organizationname.md)
- [phoneticOrganizationName](contacts/cnmutablecontact/phoneticorganizationname.md)

### Setting Addresses

- [postalAddresses](contacts/cnmutablecontact/postaladdresses.md)
- [emailAddresses](contacts/cnmutablecontact/emailaddresses.md)
- [urlAddresses](contacts/cnmutablecontact/urladdresses.md)

### Setting Phone Information

- [phoneNumbers](contacts/cnmutablecontact/phonenumbers.md)

### Setting Social Profiles

- [socialProfiles](contacts/cnmutablecontact/socialprofiles.md)

### Setting Birthday Information

- [dates](contacts/cnmutablecontact/dates.md)
- [nonGregorianBirthday](contacts/cnmutablecontact/nongregorianbirthday.md)
- [birthday](contacts/cnmutablecontact/birthday.md)

### Setting Notes

- [note](contacts/cnmutablecontact/note.md)

### Setting Images

- [imageData](contacts/cnmutablecontact/imagedata.md)

### Relating Other Information to the Contact

- [contactRelations](contacts/cnmutablecontact/contactrelations.md)
- [instantMessageAddresses](contacts/cnmutablecontact/instantmessageaddresses.md)

### Instance Properties

- [id](contacts/cnmutablecontact/id.md)

## Relationships

### Inherits From

- [CNContact](contacts/cncontact.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [Identifiable](swift/identifiable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSItemProviderReading](foundation/nsitemproviderreading.md)
- [NSItemProviderWriting](foundation/nsitemproviderwriting.md)
- [NSMutableCopying](foundation/nsmutablecopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Contact data

- [CNContact](contacts/cncontact.md)
- [Data Objects](contacts/data-objects.md)
- [Contact Keys](contacts/contact-keys.md)
