IOS9中最大的变化就是对通讯录的操作变得简单了,接下来将演示CNContact的使用。
首先是导入Contacts模型

接下来是具体的编写代码的步骤:
1、创建一个通讯录对象

2、定义所有打算获取的属性对应的key值,此处获取姓名,手机号,头像

3、创建CNContactFetchRequest对象

4、初始化一个数组,用来存放遍历到的所有联系人

5、遍历所有的联系人并把遍历到的联系人添加到contactarray

6、打印获取的联系人数组contactarray

以上就完成了通讯录的读取,并保存在数组中,打印结果如下:

具体代码如下:
#import "MainViewController.h"
//导入IOS9新特性之联系人模型
@import Contacts;
@interface MainViewController ()
@end
@implementation MainViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 创建通信录对象
CNContactStore *contactStore = [[CNContactStore alloc] init];
// 定义所有打算获取的属性对应的key值,此处获取姓名,手机号,头像
NSArray *keys = @[CNContactGivenNameKey, CNContactFamilyNameKey, CNContactPhoneNumbersKey,CNContactImageDataKey];
// 创建CNContactFetchRequest对象
CNContactFetchRequest *request = [[CNContactFetchRequest alloc] initWithKeysToFetch:keys];
// 初始化一个数组,用来存放遍历到的所有联系人
NSMutableArray *contactarray = [NSMutableArray array];
// 5.遍历所有的联系人并把遍历到的联系人添加到contactarray
[contactStore enumerateContactsWithFetchRequest:request error:nil usingBlock:^(CNContact * _Nonnull contact, BOOL * _Nonnull stop) {
[contactarray addObject:contact];
}
];
NSLog(@"%@",contactarray);
}
@end
|