如何在表格视图中显示联系人?
我通过CNContactStore iOS 9获取了联系人。
- (void) getContacts {
CNContactStore *store = [[CNContactStore alloc] init];
[store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) {
if (granted == YES) {
//keys with fetching properties
NSArray *keys = @[CNContactFamilyNameKey, CNContactGivenNameKey, CNContactPhoneNumbersKey,CNContactImageDataKey];
NSString *containerId = store.defaultContainerIdentifier;
NSPredicate *predicate = [CNContact predicateForContactsInContainerWithIdentifier:containerId];
NSError *error;
NSArray *cnContactsarray = [store unifiedContactsMatchingPredicate:predicate keysToFetch:keys error:&error];
if (error) {
NSLog(@"error fetching contacts %@", error);
}
else {
for (CNContact *contact in cnContactsarray) {
//store all the contacts as per your requirement
NSLog(@"Name : %@",contact.givenName);
NSLog(@"Id : %@",contact.identifier);//the contact id which you want
[_ContactsCN addObject:contact];
}
}
NSLog(@"array %@",_ContactsCN);
}
}];
}
任何帮助将不胜感激。
答案 0 :(得分:1)
当CNContact的提取联系人完成时,您需要在主线程上重新加载数据
在主线程上运行
dispatch_async(dispatch_get_main_queue(), ^{// reload your table here
});