读取通信录中的联系人一般的过程是先查找联系人记录,然后再访问记录的属性,属性又可以分为单值属性和多值属性。通过下面例子介绍联系人的查询,以及单值属性和多值属性的访问,还有读取联系人中的图片数据。
本案例是从iOS设备上读取通讯录中的联系人,并将其显示在一个表视图中,可以进行查询,点击联系人进入详细信息画面。访问通讯录的应用必须要做的两件事情:
1、添加AddressBook和AddressBookUI框架
为工程添加AddressBook.framework和AddressBookUI.framework
2、引入头文件
在需要访问通讯录类的头文件中引入下面头文件:
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
查询联系人记录
在从通信录数据库查询联系人数据是无法使用SQL语句,只能通过ABAddressBookCopyArrayOfAllPeople和
ABAddressBookCopyPeopleWithName函数获得,它们的定义如下:
FArrayRef ABAddressBookCopyArrayOfAllPeople (
ABAddressBookRef addressBook
);
CFArrayRef ABAddressBookCopyPeopleWithName (
ABAddressBookRef addressBook,
CFStringRef name
);
CFArrayRef ABAddressBookCopyArrayOfAllPeople (
ABAddressBookRef addressBook
);
CFArrayRef ABAddressBookCopyPeopleWithName (
ABAddressBookRef addressBook,
CFStringRef name
);
ABAddressBookCopyArrayOfAllPeople函数是查询所有的联系人数据。ABAddressBookCopyPeopleWithName函数是通过人名查询通讯录中的联系人,其中的name参数就是查询的前缀关键字。两个函数中都有addressBook参数,它是我们要查询的通讯录对象,其创建使用ABAddressBookCreateWithOptions函数(在iOS6之前是ABAddressBookCreate函数),它的定义:
ABAddressBookRef ABAddressBookCreateWithOptions (
CFDictionaryRef options,
CFErrorRef* error
);
ABAddressBookRef ABAddressBookCreateWithOptions (
CFDictionaryRef options,
CFErrorRef* error
);
原文链接:http://www.2cto.com/kf/201307/224185.html
本案例是从iOS设备上读取通讯录中的联系人,并将其显示在一个表视图中,可以进行查询,点击联系人进入详细信息画面。访问通讯录的应用必须要做的两件事情:
1、添加AddressBook和AddressBookUI框架
为工程添加AddressBook.framework和AddressBookUI.framework
2、引入头文件
在需要访问通讯录类的头文件中引入下面头文件:
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
查询联系人记录
在从通信录数据库查询联系人数据是无法使用SQL语句,只能通过ABAddressBookCopyArrayOfAllPeople和
ABAddressBookCopyPeopleWithName函数获得,它们的定义如下:
FArrayRef ABAddressBookCopyArrayOfAllPeople (
ABAddressBookRef addressBook
);
CFArrayRef ABAddressBookCopyPeopleWithName (
ABAddressBookRef addressBook,
CFStringRef name
);
CFArrayRef ABAddressBookCopyArrayOfAllPeople (
ABAddressBookRef addressBook
);
CFArrayRef ABAddressBookCopyPeopleWithName (
ABAddressBookRef addressBook,
CFStringRef name
);
ABAddressBookCopyArrayOfAllPeople函数是查询所有的联系人数据。ABAddressBookCopyPeopleWithName函数是通过人名查询通讯录中的联系人,其中的name参数就是查询的前缀关键字。两个函数中都有addressBook参数,它是我们要查询的通讯录对象,其创建使用ABAddressBookCreateWithOptions函数(在iOS6之前是ABAddressBookCreate函数),它的定义:
ABAddressBookRef ABAddressBookCreateWithOptions (
CFDictionaryRef options,
CFErrorRef* error
);
ABAddressBookRef ABAddressBookCreateWithOptions (
CFDictionaryRef options,
CFErrorRef* error
);
原文链接:http://www.2cto.com/kf/201307/224185.html