<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.11.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Contacts",
  "identifier" : "/documentation/Contacts/CNContactProperty",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Contacts"
    ],
    "preciseIdentifier" : "c:objc(cs)CNContactProperty"
  },
  "title" : "CNContactProperty"
}
-->

# CNContactProperty

An object that represents a property of a contact.

```
class CNContactProperty
```

## Overview

A contact (that is, an instance of [`CNContact`](/documentation/Contacts/CNContact)) has properties, such as [`givenName`](/documentation/Contacts/CNContact/givenName), [`phoneNumbers`](/documentation/Contacts/CNContact/phoneNumbers), and [`jobTitle`](/documentation/Contacts/CNContact/jobTitle). Each property is represented by an instance of [`CNContactProperty`](/documentation/Contacts/CNContactProperty), which provides a tuple that can contain three or five values, depending on whether the property is a member of an array of labeled values. For example, the [`phoneNumbers`](/documentation/Contacts/CNContact/phoneNumbers) property is a member of an array of labeled values, so the `CNContactProperty` tuple contains the contact, key, value, identifier, and label. For the [`givenName`](/documentation/Contacts/CNMutableContact/givenName) property, which is not contained in a labeled array, `CNContactProperty` returns a tuple that contains the contact, key, and value. The `CNContactProperty` class is used by <doc://com.apple.documentation/documentation/ContactsUI/CNContactPicker> to return the user’s selected property.

## Topics

### Getting the Contact Object

[`contact`](/documentation/Contacts/CNContactProperty/contact)

The associated contact.

### Getting the Property Information

[`key`](/documentation/Contacts/CNContactProperty/key)

The key of the contact property.

[`value`](/documentation/Contacts/CNContactProperty/value)

The value of the property.

[`label`](/documentation/Contacts/CNContactProperty/label)

The label of the labeled value of the property array.

[`identifier`](/documentation/Contacts/CNContactProperty/identifier)

The identifier of the labeled value in the array of labeled.

### Handling Exceptions

[`CNContactPropertyNotFetchedExceptionName`](/documentation/Contacts/CNContactPropertyNotFetchedExceptionName)

Exception thrown when an accessed property was not fetched.

## Relationships

### Conforms To

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

[`Equatable`](/documentation/Swift/Equatable)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)