Я думаю, вам следует извлечь записи из локальной адресной книги в массив с помощью функции ABAddressBookCopyArrayOfAllPeople, а затем использовать этот массив в качестве источника данных для представления таблицы.В этом коде имя заполняет табличное представление.
- (void)viewDidLoad
{
[super viewDidLoad];
addressBook = ABAddressBookCreate();
allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
...
}
@implementation ContactsViewController
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
NSInteger size = CFArrayGetCount(allPeople);
return size;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
ABRecordRef person = CFArrayGetValueAtIndex(allPeople, indexPath.row);
NSString *cellValue = (__bridge NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
cell.textLabel.text = cellValue;
return cell;
}