An object that encapsulates all information about a person in the Address Book database.


@interface ABPerson : ABRecord


An ABPerson object corresponds to a single person record in the database. A person object contains the person’s name, company, address, email addresses, and phone numbers.

The ABPerson class is “toll-free bridged” with its procedural C opaque-type counterpart. This means that the ABPersonRef type is interchangeable in function or method calls with instances of the ABPerson class.


Managing Properties

+ addPropertiesAndTypes:

Adds the given properties to all the records of this type in the Address Book database.

+ removeProperties:

Removes the given properties from all the records of this type in the Address Book database.

+ properties

Returns an array of the names of all the properties for the record in the Address Book database.

+ typeOfProperty:

Returns the type of a given property.

Managing Linked People

- linkedPeople

Returns the array of all person records that are linked to the person this record represents.

Managing Groups

- parentGroups

Returns an array of the address book groups that this person belongs to.

Managing Images

+ cancelLoadingImageDataForTag:

Cancels an asynchronous fetch of the images for a given tag.

- beginLoadingImageDataForClient:

Starts an asynchronous fetch for image data in all locations

- imageData

Returns data that contains a picture of this person.

- setImageData:

Sets the image for this person to the given data.


+ searchElementForProperty:label:key:value:comparison:

Returns a search element object that specifies a query for records of this type.

Importing and Exporting vCard Formatted Files

- initWithVCardRepresentation:

Returns an ABPerson instance initialized with the given data.

- vCardRepresentation

Returns the vCard representation of the person record as a data object in vCard format.


Person Flags

Settings that determine how person records are displayed.


Inherits From