找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5088|回复: 0
打印 上一主题 下一主题
收起左侧

IOS9开发中使用CNContact读取通讯录

[复制链接]
跳转到指定楼层
楼主
ID:115111 发表于 2016-5-12 04:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表