ABAddressBookRef 名片对象
函数方法
ABAddressBookCreate 创建一个名片对象
ABAddressBookSave 保存变化
ABAddressBookRevert 丢弃名片
ABAddressBookHasUnsavedChanges 是否保存了改变
ABAddressBookRegisterExternalChangeCallback
ABExternalChangeCallback.
ABAddressBookRegisterExternalChangeCallback
ABRecordGetRecordType 记录的属性
kABPersonType 人
kABGroupType 分组
对记录的操作方法(对人和分组均适用)
ABRecordCopyValue
ABRecordSetValue
ABRecordRemoveValue.
人:(ABPerson Reference)
//单值属性
first name
last name
//多值属性
street address
phone number
分组:(ABGroup Reference)
kABGroupNameProperty,
ABGroupCopyArrayOfAllMembers 获取分组中所有的联系人
ABGroupCopyArrayOfAllMembersWithSortOrdering 按一定排序方法,获取分组中所有的联系人
以上2个方法的返回值类型为:
CFArrayRef 类型的ABRecordRef 的对象
//单值属性 读、取数据的DEMO
ABRecordRef aRecord = ABPersonCreate();
CFErrorRef anError = NULL;
bool didSet;
didSet = ABRecordSetValue(aRecord, kABPersonFirstNameProperty, CFSTR("Katie"),
&anError);
if (!didSet) {/* Handle error here. */}
didSet = ABRecordSetValue(aRecord, kABPersonLastNameProperty, CFSTR("Bell"),
&anError);
if (!didSet) {/* Handle error here. */}
CFStringRef firstName, lastName;
firstName = ABRecordCopyValue(aRecord, kABPersonFirstNameProperty);
lastName = ABRecordCopyValue(aRecord, kABPersonLastNameProperty);
/* ... Do something with firstName and lastName. ... */
CFRelease(aRecord);
CFRelease(firstName);
CFRelease(lastName);
//多值属性
每个值有一个textlabel 和 一个identifier
一个