10.3. Retrieving Properties of Address Book Entries
Problem
You have retrieved a reference to an item in the address book, such as a person’s entry, and you want to retrieve that person’s properties, such as first and last names.
Solution
Use the ABRecordCopyValue
function on the person’s Address Book record.
Discussion
The records in the address book database are of type ABRecordRef
. Each record could be either a
group or a person. We have not discussed groups yet, so let’s focus on
people. Each person could have various types of information assigned
to him, such as his first name, last name, email address, and so on.
Bear in mind that many of these values are optional, and at the time
of creating a new contact in the address book database, the user can
simply leave out fields such as phone number, middle name, email
address, URL, and so forth.
ABRecordCopyValue
accepts an
address book record and the property that has to be retrieved as its
two parameters. The second parameter is the property of the record
that we want to retrieve. Here are some of the common properties (all
of these properties are defined as constant values in the ABPerson.h header file):
kABPersonFirstNameProperty
This value will retrieve the first name of the given person. The return value is of type
CFStringRef
, which can be cast toNSString
with a bridge cast, so you can do just about anything you want with the results.kABPersonLastNameProperty
This value will retrieve the last name of the given person. Like the first ...
Get iOS 5 Programming Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.