подход вам необходимо выполнить следующие действия:
Прежде всего, необходимо получить ссылку в AddressBook, а затем получить все ссылки контактов в массиве. И тогда вам нужно перечислить массив и проверить, является ли его свойство электронной почты нулевым, если не нулем, добавить этот контакт в другой массив, а затем использовать этот массив в качестве источника данных для tableView :)
Если вы хотите, я могу предоставит вам код для проверки записи электронной почты для контакта в адресной книге, а затем отфильтруйте эти контакты.
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(m_addressbook);
CFIndex nPeople = ABAddressBookGetPersonCount(m_addressbook);
for (int i=0;i < nPeople;i++) {
NSMutableDictionary *dOfPerson=[NSMutableDictionary dictionary];
ABRecordRef ref = CFArrayGetValueAtIndex(allPeople,i);
//For username and surname
ABMultiValueRef phones =(NSString*)ABRecordCopyValue(ref, kABPersonPhoneProperty);
CFStringRef firstName, lastName;
firstName = ABRecordCopyValue(ref, kABPersonFirstNameProperty);
lastName = ABRecordCopyValue(ref, kABPersonLastNameProperty);
[dOfPerson setObject:[NSString stringWithFormat:@"%@ %@", firstName, lastName] forKey:@"name"];
//For Email ids
ABMutableMultiValueRef eMail = ABRecordCopyValue(ref, kABPersonEmailProperty);
if(ABMultiValueGetCount(eMail) > 0) {
[dOfPerson setObject:(NSString *)ABMultiValueCopyValueAtIndex(eMail, 0) forKey:@"email"];
}
С помощью вам будет узнать, есть ли контакт по электронной почте или нет, если да, то вы можете добавить, что контактную ссылку на другой массив :) Надеюсь, что это помогает :)
Проверить эту ссылку, также содержит файл CSV http://stackoverflow.com/questions/7118772/how-to-get-contacts- подробно-of-iphone-and-make-csv-file-of-the-contact – mindfreak