标题: IOS9开发中使用CNContact读取通讯录 [打印本页]

作者: 51黑ele    时间: 2016-5-12 04:27
标题: IOS9开发中使用CNContact读取通讯录
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






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1