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
|