Как импортировать список контактов из адресной книги iphone в мое приложение?
- (void)viewDidLoad {
[super viewDidLoad];
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"2.png"] style:UIBarButtonItemStyleBordered target:self action:nil];
self.navigationItem.rightBarButtonItem = btn;
self.navigationItem.title = @"Contacts";
sBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,0,320,30)];
sBar.delegate = self;
[self.view addSubview:sBar];
sBar.placeholder=@"Search";
searchedData = [[NSMutableArray alloc]init];
tableData = [[NSMutableArray alloc]init];
[tableData addObjectsFromArray:dataSource];
}
3 ответа
Следующее краткое руководство по документации Apple для iOS поможет вам начать работу над этим.
Руководство по программированию адресной книги для iPhone - QuickStart
Он показывает, как импортировать AddressBookUI/AddressBookUI.h
Заголовки и открыть сборщик родных людей, а также слушать, когда человек выбран.
ABPerson
функция [ABAddressBookCopyArrayOfAllPeople] будет работать здесь.
ABAddressBookRef addressBook = ABAddressBookCreate( );
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople( addressBook );
CFIndex nPeople = ABAddressBookGetPersonCount( addressBook );
for ( int i = 0; i < nPeople; i++ )
{
ABRecordRef ref = CFArrayGetValueAtIndex( allPeople, i );
...
}
После получения массива npeople вы можете отобразить его в вашем tableView или сделать все, что захотите.
Вам нужно будет реализовать следующий метод делегата таблицы, чтобы фактически заставить вашу таблицу отображать данные.
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Вы можете найти больше документации по UITableView
Вот